多态
概述:同一个对象在不同时刻表现出来的不同形态
多态的前提和体现:
*有继承/实现关系
*有方法重写(@Override重写标记)
*有父类引用指向子类对象
多态成员访问特点:
*成员变量:编译看左边,执行看左边
*成员方法:编译看左边,执行看右边
为什么成员变量和成员方法的访问不一样?
*因为成员方法有重写而成员变量没有
多态的好处与弊端:
*多态的好处:提高程序扩展性
具体体现:定义方法时,使用父类型作为参数,将来在使用时使用具体子类参与操作
*多态的弊端:不能使用子类特有的功能
多态的转型:
*向上转型:从子到父(父类引用指向子类对象)
*向下转型:从父到子(父类引用转为子类对象)
向下转型解决了多态不能使用子类特有功能的问题