多态 面向对象编程三大特征之一:
多态的概念:
多态是面向对象编程中的一个重要特性,主要是用来实现动态联编的,换句话说就是程序的最终状态只有子啊执行过程中才被决定而非编译期间就决定了,这对于大型系统来说能提高系统的灵活性和扩展性。
同一个引用类型,使用不同的实例而执行不同操作。就是父类的引用指向子类的实例。
实现多态的两种形式:
1.使用父类作为方法形参实现多态
2.使用父类作为方法返回值实现多态
使用多态的好处:
使用多态可以减少类中的代码量,可以提高代码的扩展性和可维护性;
多态存在的必要条件:
要有继承,要有方法重写,父类引用指向子类的实例;
引用数据类型的类型转换:
子类转换为父类:自动转换
1.向上转型不能操作子类新增的成员变量和方法.
2.向上转型对象可以操作子类继承或重写的成员变量和方法
3.如果子类重写了父类的某个方法,向上转型的对象调用该方法时,是调用的重写之后的方法
父类转换为子类:强制转换
会报错!