我们在实现一种程序运行时,可以选择不同的数据输入其中,当然这样最后输出的结果也是不一样的。这就是多态的思想,跟我们数学中输入不同数字到公式中产出不同结果是一个道理。
一、定义
多态是指的是事物的多种状态,同一操作,由于条件的不同,所以产生的结果也不同。
例如在程序中同一引用类型,由于实例的不同,产生的结果也会不同。
二、说明
1、多态是方法的多态,多态和属性是没有半毛钱的关系的。
2、多态存在的3个必要条件:
(1)、必须得有继承关系
(2)、子类必须重写了父类的方法
(3)、父类的引用指向子类对象
3、父类的引用指向子类对象,用该父类的引用调用子类重写的方法,此时多态就出现了
三、实例
publicclassTest01{ publicstaticvoidmain(String[]args){ //同一引用 Petpet=null; //由于实例不同 pet=newDog("旺财",90,80,"土狗"); //对同一操作产生的结果不同 pet.eat(); //由于实例不同 pet=newPenguin("小白",90,90,Penguin.GENDER_MAN); //对同一操作产生的结果不同 pet.eat(); } } //我们把Dog,Penguin对Pet的eat方法呈现多态。
四、多态调用的注意事项
编译:成员变量,成员方法都需要看父类;父类没有编译报错;
运行:成员变量运行父类的成员变量,成员方法运行父类重写的方法
五、多态的好处与弊端
好处:多态配合继承子类重写,提高了代码的复用性与扩展性
弊端:不能调用子类特有的方法
以上就是我们在java中对于多态内容的学习,当然这只是初步的了解,在后期文章中我们会进一步对多态展开深入的学习。
原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容