一、多态
1.什么是多态?
多态是指同一个对象,在不同时刻表现出来的不同形态
eg: 我们可以说猫是猫:(猫 c = new Cat;),也可以说猫是动物(动物 a = new Cat;),这里猫在不同时刻表现出了不同的形态(猫或者动物),这就是多态
2.多态的前提:
- 要有(继承\实现)关系
- 要有方法重写
- 要有父类引用,指向子类对象
-
(注:这里的父类为Animal,子类为Cat,代码:Animal a = new Cat();的意思就是父类引用,指向子类对象)
-
代码举例:
3.多态中成员访问特点
- 构造方法:同继承一样,子类会通过super访问父类的构造方法
- 成员变量:编译看左边(父类),执行看左边(父类)
- 成员方法:编译看左边(父类),执行看右边(子类)
代码示例:
为什么成员变量和成员方法的访问不一样呢?
- 因为成员方法有重写,而成员变量没有