如何理解多态性:
理解为一个事物的多种形态
生活举例:
女朋友:我想养一个宠物
孩子:我想要要一个玩具
老板:张秘书,安排一个技术科的同事,下周跟我一起出差
Java中多态性的体现:
父类的引用指向子类的对象(或子类的对象赋给父类的引用)
比如:Person p1 = new Man();
多态的应用:
在多态场景下,调用方法时:
编译时,认为方法是左边声明的父类的类型的方法(即被重写的方法)
运行时,实际执行的是子类重写父类的方法
简称为:编译看左边,运行看右边
多态的使用前提:
要有类的继承关系
要有方法的重写
多态的适用性:适用于方法,不适用于属性
多态的好处与弊端:
好处:极大地减少了代码的冗余,不需要定义多个重载的方法
弊端:在多态的场景下,我们创建了子类的对象,也加载了子类特有的属性和方法。但是由于声明为父类的引用,导致我们没有办法直接调用子类特有的属性和方法。