一、可以把不同的子类对象都当作父类来看多态的前提1:是继承多态的前提
2:要有方法的重写
父类引用指向子类对象,如:Animal a = new Cat();
多态中,编译看左边,运行看右边
二、多态是什么?
多态是同一个行为具有多个不同表现形式或形态的能力。
比如我们说“宠物”这个对象,它就有很多不同的表达或实现,比如有小猫、小狗、蜥蜴等等。那么我到宠物店说“请给我一只宠物”,服务员给我小猫、小狗或者蜥蜴都可以,我们就说“宠物”这个对象就具备多态性。
三、多态的应用
使得对象的调用变得简单,不用再每个对象每个对象的去调用,而是一次性调用所有对象去执行。
四、注意事项
一.多态中,子父类出现同名变量、同名(static)静态方法时,调用时只看引用。同名非静态函数只看实体。
五、多态的弊端。
提高了扩展性,但是只能使用父类的引用访问父类中的成员。
六、多态的前提。
必须是类与类之间的关系,要么继承要么实现。
通常还有一个前提,存在覆盖。
七、多态的好处。
抽象类和接口不能实例化,所以可以通过多态,进行向上转型,将子类实例赋给父类或者接口的引用。提高了程序的扩展现
1)可替换性:多态对已存在代码具有可替换性
2)可扩充性 多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。实际上新加子类更容易获得多态功能
个人总结:
使用多态可以跟快捷的去调用所有对象
使用多太能大大增加了java程序的可扩展性。
使其更方便更快捷
有利与弊