1.什么是多态:
同一个对象在不同时刻体现出来的不同状态.
2.多态的前提:
A:有继承或者实现关系.
B:有方法重写;
C:有父类或者父类接口引用指向子类对象.
3.多态的分类:
a:具体类多态
class Fu {}
class Zi extends Fu {}
Fu f = new Zi();
b:抽象类多态
abstract class Fu {}
class Zi extends Fu {}
Fu f = new Zi();
c:接口多态
interface Fu {}
class Zi implements Fu {}
Fu f = new Zi();
4多态中的成员访问特点
A:成员变量
编译看左边,运行看左边
B:构造方法
子类的构造都会默认访问父类构造
C:成员方法
编译看左边,运行看右边
D:静态方法
编译看左边,运行看左边
5多态的好处:
A:提高代码的维护性(继承体现)
B:提高代码的扩展性(多态体现)
6多态的弊端:
父不能使用子的特有功能。
现象:
子可以当作父使用,父不能当作子使用。
7多态中的转型
A:向上转型
从子到父
B:向下转型
从父到子