java基础(面向对象高级部分)
多态
认识多态
对象多态:
行为多态:
编译看左边,运行看右边:
变量是编译看左边,运行也看左边(变量没有多态性):
使用多态的好处
比如People p1 = new Student();
p1.run()
下面有两千行代码,不可能重写写吧,可以直接把Student更换掉,这样子是不是更方便。
1.多态下,右边对象是解耦合的。
2.多态下,父类类型作为方法的形参,可以接收一切子类对象,方便更便利。
对象回调思想:
我把对象调给你,然后你又用对象调用我方法。
3.多态下存在的一个问题:不能直接调用子类独有的功能(类型转化解决)。
多态下的类型转换问题
类型转换
强制类型转换:可以解决多态下不能直接调用子类独有方法的问题:
类型转换异常:
final
常量
静态代码块里面赋值:
只有两种赋值 ,1.直接赋值,2.静态代码块赋值。
抽象类
抽象类场景: