Appearance
多态
同一个对象,在不同时刻表现出来的不同形态
例如:猫
javaCat cat = new Cat(); Animal animal = new Cat();
猫在不同时刻表现出不同的形态,这就是多态
多态的前提和体现
- 有继承/实现关系
- 有方法的重写
- 有 父类引用指向子类对象
2.多态中成员访问特点
- 成员变量:编译看左边,执行看左边
- 成员方法:编译看左边,执行看右边
成员变量和成员方法访问不一样的原因:
- 成员方法被重写,而成员变量没有
3.多态的好处和弊端
多态的好处:提高了程序的拓展性
具体表现:定义方法的时候,使用父类型作为参数,使用的时候,使用具体的子类型参与操作
多态的弊端:不能使用子类的特有功能
4.多态中的转型
向上转型:从子到父,父类引用指向子类对象
向下转型:从父到子,父类引用转为子类对象
java//多态 //向上转型:从子到父,父类引用指向子类对象 Animal a = new Cat(); a.eat();//子类重写父类的eat方法 //向下转型:从父到子,父类引用转为子类对象 Cat c = (Cat) a; c.eat();//子类重写父类的eat方法 c.playGame();//子类特有方法