对象的多态性

Posted ergepython

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对象的多态性相关的知识,希望对你有一定的参考价值。

父类的引用指向子类的对象

Person p1 = new Man();

多态的使用:当调用子父类同名同参数的方法时,实际执行的是子类重写父类的方法---虚拟方法调用

 

多态性的使用前提 类的继承性  方法的重写 

 

对象的多态性:只使用于方法,不适用于方法

虚拟方法调用

  子类中定义了与父类同名同参数的方法,在多态情况下,将此时父类的方法称为虚拟方法,父类根据赋给它的不同子类对象,动态调用属于子类的该方法。这样的方法在编译期是无法确定的。 运行时确定

 

如何才能调用子类特有的属性和方法

向下转型

Man m1 = (Man) p2;

使用强转时,可能出现类型转换异常

 

a instanceof  A 判断对象a是否是类A的实例 

以上是关于对象的多态性的主要内容,如果未能解决你的问题,请参考以下文章

多态性

java 面向对象(十五):面向对象的特征三:多态性

5_面向对象-中之面向对象的特征三:多态性

面向对象的多态详解 !!

Java面向对象-对象的多态性

面向对象-多态与多态性