第二天、面向对象特征
面向对象特征之:多态
认识多态
-
多态定义 : 在继承或者实现情况下的一种现象
表现为 : 对象多态 行为多态
-
多态前提 : 有继承/实现关系;存在父类引用指向子类对象;存在方法重写
-
注意事项 : 多态是对象、行为的多态,Java中的属性(成员变量)不谈多态
多态的好处和弊端
多态的好处
-
在多形势下,等号左右两边松耦合,便于修改和维护
-
定义方法时,使用父类类型的形参,可以接收一切子类对象,扩展性更强、更便利多态的弊端
-
多态下不能使用子类的独有功能
类型转换: -
自动类型转换:父类 变量名 = new 子类();
-
强制类型转换:子类 变量名 = (子类) 父类变量;
类型转换注意事项: -
存在继承/实现关系就可以在编译阶段进行强制类型转换,编译阶段不会报错
-
运行时,如果发现对象的真实类型与强转后的类型不同,就会报类型转换异常(ClassCastException)的错误出来
-
如果想避免风险,可以所在使用前使用instenceof判断数据类型
final
final 关键字是最终的意思,可以修饰(类,方法,变量)
-
修饰类 : 该类被称为最终类,类不能再被继承
-
修饰方法 : 该方法被称为最终方法,方法不能被重写
-
修饰变量 : 该变量只能被赋值一次,赋值完毕后不能再修改
成员变量 : 声明时或