1.广义的多态:方法的重载和方法的重写。
2.狭义的多态:子类对象的多态性。
子类对象的多态性:父类的引用指向子类的对象。
虚拟方法调用:编译时,认为调用的方法是父类的,运行时,实际上执行的子类重写父 类的方法。
注意:多态性只适用于方法。(即属性无法改变)。
java 父类引用指向子类对象时,成员变量的编译和运行都是看左边,而方法编译看左边,运行看右边。
3.强制转型
如果父类的引用指向子类对象,并想调用子类独有的方法,需要强制转换。
强制转换符 : ()
eg:people p=new woman();
woman p1=(woman )p;
a instance of A :判断a是否是a的对象。
如果a instance of A 返回true,那么a instance AA 也返回true ,其中AA是A的父类。