为了账号安全,请及时绑定邮箱和手机立即绑定

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


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

http://img1.sycdn.imooc.com//5eddcfaf0001953907030498.jpg

正在回答

2 回答

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

0 回复 有任何疑惑可以回复我~

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

3 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信