对象的多态性
|-- 我,在生活中,具备多种形态
|-- 传智,我是员工
|-- 家庭,户主
|-- 朋友,小弟
|-- 宠物猫
|-- 咪咪猫
|-- 小宠物真漂亮
|-- 老鼠面前,舞伴
|-- 现实生活中的多态:一个事物具备的多种形态
|-- 面向对象中的对象的多态
|-- 父类或者是接口的引用,指向自己的子类对象
父类 f = new 子类();
多态的好处和弊端-- 好处:代码的复用性提高,扩展性增强,后期维护性增强,代码量也减少
-- 弊端:多态中,只能调用子父类中的公共方法,不能调换子类的特有方法
多态中的细节问题:-- 非静态成员变量的特点:-- 编译时期,参考引用型变量中,是否有这个变量-- 运行时期,参考引用型变量中的变量的值
静态成员患变量特点-- 编译时期,参考引用型变量中,是否有这个变量-- 运行时期,参考引用型变量中的变量的值
- 静态成员方法的特点-- 编译时期,参考引用型变量中,是否有这个方法-- 运行时期,参考引用型变量中的方法
- 非静态成员方法的特点-- 编译时期,参考引用型变量中,是否有这个方法- 运行时期,参考子类对象中的方法
在编译时期,JVM静态的绑定在父类的引用变量中
只要在非静态成员方法运行的时候,JVM动态的绑定到子类对象中
-- 简单的说: 除了非静态成员方法以外,编译看左边,运行看左边 只有在非静态方法中,编译看左边,运行看右边
|