在同一个方法中,这种由于参数类型不同而导致运行结果各异的现象就是多态。
下面用案例演示:
1,//定义接口animal.
2,interface Animal{
3, void shout(); //定义抽象方法shout();
4,}
5,//定义cat类implements Animal 接口;
6,class Cat implements Animal{
7,实现接口方法shout
8,}public void shout{
9,System.out.println("喵");
10,}
11,定义Dog 类实现Animal;
12,class Dog implements Animal{
13,实现shout方法
14 public void shout(){
15 System.out.println("旺旺")
16}
17//定义测试类
18public class test {
19public static void main(String[] args){
20Animal a1 = new Cat();
21Animal a2 = new Dog();
22animalShout(a1);
23animalShout(a2);
24public static void animalShout(animal a){
25 a.shout();
}
}
}
第20.21行实现了父类引用指向不同子类对象,
22,23,调用animalShout方法,把不同子类对象作为参数,实现了同一方法不同参数,运行后得到 不同结果,这样提高了代码可扩展性与可维护性,还有灵活性 |