多态概念
实现多态的前提条件:
1、要有继承/实现
2、方法重写
3、有父类引用子类对象
多态访问的特点:
父类 object = new 子类();
访问成员:只有父类有成员变量,访问时编译才能通过,输出的值是父类属性的值。
访问方法:父类有需要访问的方法,编译才能通过,输出的值是子类重写后的值。
总结
成员变量:编译看左边,执行看左边
成员方法:编译看左边,执行看右边
使用多态的好处和弊端
多态的好处:
定义方法的时候,使用父类型作为参数,使用的时候使用具体子类型参与操作即可。提高了程序的可扩展性
多态的弊端:
不能使用子类的特有功能。
如果要使用子类的特有功能,则需要转型。
多态中的转型
1、向上转型
从子到父
父类引用指向子类对象
例子:父类 a = new 子类();
2、向下转型
从父到子
父类引用转为子类对象
例子:子类 c = (子类)a;