站长资讯网
最全最丰富的资讯网站

在Java中多态存在的必要条件是什么

在Java中多态存在的必要条件是什么

多态存在的三个必要条件:

(推荐学习:java入门教程)

  • 继承

  • 重写

  • 父类引用指向子类对象

当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。

多态的好处:

可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。

(视频教程:java视频教程)

测试代码:

public class Test {     public static void main(String[] args) {       show(new Cat());  // 以 Cat 对象调用 show 方法       show(new Dog());  // 以 Dog 对象调用 show 方法                        Animal a = new Cat();  // 向上转型         a.eat();               // 调用的是 Cat 的 eat       Cat c = (Cat)a;        // 向下转型         c.work();        // 调用的是 Cat 的 work   }                    public static void show(Animal a)  {       a.eat();           // 类型判断         if (a instanceof Cat)  {  // 猫做的事情              Cat c = (Cat)a;               c.work();           } else if (a instanceof Dog) { // 狗做的事情              Dog c = (Dog)a;               c.work();           }       }  }  abstract class Animal {       abstract void eat();  }     class Cat extends Animal {       public void eat() {           System.out.println("吃鱼");       }       public void work() {           System.out.println("抓老鼠");       }  }     class Dog extends Animal {       public void eat() {           System.out.println("吃骨头");       }       public void work() {           System.out.println("看家");       }  }

输出结果:

吃鱼 抓老鼠 吃骨头 看家 吃鱼 抓老鼠

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号