1321L,';NJKL;LHJKBVHJGKBJKBLJKBM、子类转换为父类:自动转换
---- 上转型对象不能操作子类新增的成员变量和方法。
---- 上转型对象可以操作子类继承或重写的成员变量和方法。
---- 如果子类重写了父类的某个方法,上转型对象调用该方法时,是调用的重写方法。
2、父类转换为子类:强制转换
---- 编译阶段不会出错,运行阶段会出错。
Demo:
小结
1、类型转换
---- 向上转型——子类转换为父类,自动进行类型转换
---- 向下转型——父类转换为子类,结合instanceof运算符进行强制类型转换
2、实现多态的两种方式
---- 使用父类作为方法形参实现多态
---- 使用父类作为方法返回值实现多态
3、使用多态的好处
多态可以减少类中代码量,可以提高代码的可扩展性和可维护性
4、引用变量的两种类型:
---- 编译时类型(模糊一点,一般是一个父类)
由声明时的类型决定。
---- 运行时类型(运行时,具体是哪个子类就是哪个子类)
由实际对应的对象类型决定。
5、多态的存在要有3个必要条件:
要有继承,要有方法重写,父类引用指向子类对象