问答详情
源自:9-9 Java 中的 Object 类 Ⅱ

不是说代码运行到 Dog other=(Dog)obj; 这里,表明要比较的2个对象的类型是相等的吗?类型不是指class吗?既然类型相等,为什么还要将obj强制转换成Dog类型呢?


不是说代码运行到  Dog other=(Dog)obj;  这里,表明要比较的2个对象的类型是相等的吗?类型不是指class吗?既然类型相等,为什么还要将obj强制转换成Dog类型呢?如果obj是object对象,那么,getCalss()!=obj.getCalss()不是返回true吗?

http://img2.mukewang.com/5eddcfaf0001953907030498.jpg

提问者:慕圣8425527 2020-05-29 14:54

个回答

  • 慕用1577524
    2020-08-13 16:38:07

    我理解的是类的对象调用getClass方法得到类对象,他这里比较的类型应该是比较两个对象的属性是否相同,比如都有age属性

  • weixin_慕容9292512
    2020-06-05 16:21:33

    other的类型是Dog,obj的类型是Object,他们并不相等,所以要将obj转换成Dog类型要进行强制转换