这两行不懂什么意思

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小小 2021-07-27 11:49:23

同学你好

1、obj.getClass()==Cat.class的含义:判断obj是否是Cat类的实例

2、Cat cat=(Cat)obj的含义:将obj强转为Cat类型

http://img1.sycdn.imooc.com//climg/60ff795b09c65f4b15790248.jpg

以上截图代码执行流程:

obj.getClass()==Cat.class为false时,说明obj不是Cat类的实例,不执行if分支,执行分支后的return false;

obj.getClass()==Cat.class为true时,说明obj是Cat类的实例,此时执行if分支,将obj强转为Cat类型,obj强转后cat就可以访问Cat类中的内容,进行后续的比较。

祝学习愉快~

  • 提问者 慕斯卡4243126 #1

    就是把obj强制转换成Cat后,obj就能够完全调用Cat的成员了吧

    2021-07-27 15:19:28
  • 好帮手慕小小 回复 提问者 慕斯卡4243126 #2

    同学你好,是的。将obj强转为Cat类型后,如Cat cat = (Cat)obj,就可以通过cat来访问Cat类中的成员了。

    祝学习愉快~

    2021-07-27 15:53:13
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师