目录
面向对象特征之三,多态性
1.理解多态性;可以理解为一个事物的多种形态。
2.何为多态性,
对象的多态性;父类的引用指向子类的对象(或子类的对象赋给父类的引用)
3.多态的使用;虚拟方法调用
有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法。总结,编译,看左边;运行,看右边。
4.多态性的使用前提: 类的继承关系 方法的重写。
5.对象的多态性:只适用于方法,不适用于属性(编译和运行都看左边)。
6.多态的使用:当调用子父类同名同参数的方法时,实际执行的是子类重写父类的方法(虚拟方法的调用)。
向下转型
使用强制类型转换符。
作用:调用子类特有的子类和方法。
//such as:
Person p2=new Man() ;
Man m1=(Man)p2;
instanceof关键字的使用
a instanceof A:判断对象a是否是类A的实例。如果是,返回true;如果不是,返回false.使用 情境,为了避免在向下转型时出现Class Cast Exception的异常,我们在向下转型之前,先进 行instanceof的判断,一旦返回true,就进行向下转型。如果返回false,不进行向下转型。如 果a instanceof A返回true,则a instanceof B也近回true.
其中,类B是类A的父类。