首页 > 其他 > 详细

多态性之:向下转型及instanceof的使用

时间:2021-05-26 14:32:39      阅读:15      评论:0      收藏:0      [点我收藏+]

对象的多态性,内存中实际上是加载了子类特的属性和方法的,但由于变量声明为父类类型,导致编译时,只能调用父类中声明的属性和方法,子类特的属性和方法不能调用。如何才能调用子类特的属性和方法?

一、使用强制类型转换符
        Man m1 = (Man) p2;//向下转型,强制转换成man类型,通过m1变量来接收
        //向上转型即为:多态
        //使用强转时可能出现ClassCastException异常。

二、instanceof关键字的使用
         a instanceof A:判断对象a是否是类A的实例,如果是,返回true ,否则返回false。
         使用情景:为了避免在向下转型时出现ClassCastException异常,在向下转型之前,先进行instanceof的判断。一旦返回true,就进行向下转型,否则不进行转型。

         如果 a instanceof A返回true,则 a instanceof B 也返回true,其中类B和类A是子父类关系。

 

多态性之:向下转型及instanceof的使用

原文:https://www.cnblogs.com/dorsher/p/14767056.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!