一、定义
多态是指的是事物的多种状态,同一操作,由于条件的不同,所以产生的结果也不同。
例如在程序中同一引用类型,由于实例的不同,产生的结果也会不同。
二、说明
1、多态是方法的多态,多态和属性是没有半毛钱的关系的。
2、多态存在的3个必要条件:
(1)、必须得有继承关系
(2)、子类必须重写了父类的方法
(3)、父类的引用指向子类对象
3、父类的引用指向子类对象,用该父类的引用调用子类重写的方法,此时多态就出现了
三、实例
public class Test01 { public static void main(String[] args) { // 同一引用 Pet pet = null; // 由于实例不同 pet = new Dog("旺财", 90, 80, "土狗"); // 对同一操作产生的结果不同 pet.eat(); // 由于实例不同 pet = new Penguin("小白", 90, 90, Penguin.GENDER_MAN); // 对同一操作产生的结果不同 pet.eat(); } } //我们把Dog,Penguin对Pet的eat方法呈现多态。
四、多态调用的注意事项
编译:成员变量,成员方法都需要看父类;父类没有编译报错;
运行:成员变量运行父类的成员变量,成员方法运行父类重写的方法
五、多态的好处与弊端
好处:多态配合继承子类重写,提高了代码的复用性与扩展性
弊端:不能调用子类特有的方法
以上就是我们在java中对于多态内容的学习,当然这只是初步的了解,在后期文章中我们会进一步对多态展开深入的学习。
推荐操作环境:windows7系统、java10版,DELL G3电脑。