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

互联网 20-7-13

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

(推荐学习: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("看家");       }  }

输出结果:

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

以上就是在Java中多态存在的必要条件是什么的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 条件
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:抽象类和接口分别有什么特点

相关资讯