obj强制转换

obj强制转换

判断obj是否为cat类对象之后,如果是才会进行if里的语句,既然是就说明obj是cat类对象为什么还需要强制转换呢

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

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

2回答
好帮手慕小班 2019-07-20 16:14:37

        同学你好,1、这里判断obj是cat类型的对象后,进行if语句中的属性的判断,但是在接收时,因为使用了Object类型来接收这个对象,所以如果要调用Cat类中的方法,必须要将Object强转为Cat,才能够调用Cat中的方法哦!例如:

http://img1.sycdn.imooc.com//climg/5d32cb1b00012f5806080188.jpg

Object是父类,无法直接调用子类中特有的方法!所以需要强转!

    2、为什么需要判断obj的类型并对属性进行比较,因为Set集合的特点是无序、不重复,而这里的不重复包括对象的属性值不重复!

    当比较两个对象后,如果对象不相同就代表集合中还没有存入过这个对象,说明对象没有重复,可以添加哦!

比如:

http://img1.sycdn.imooc.com//climg/5d32ccf00001003308760610.jpg

案例中的huahua和huahua01就是对象的属性值完全相同的两个对象哦!所以在Set集合中不能存入!

        如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 既然是要调用Cat类中的方法,直接用this来调用不可以?
    2019-08-02 14:08:18
  • 你好!这里是this和obj强换后的cat进行比较,所以不能再用this了。祝学习愉快!
    2019-08-02 16:49:53
提问者 慕村4575073 2019-07-20 10:47:31

以及想问一下为什么需要判断obj的类型并对属性进行比较。不是可以分为对象相同和不同两种情况吗,比较两个对象后,如果对象不相同不就代表不重复吗?

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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