亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Dog other=(Dog) obj這塊我還是不懂

調用equals的時候,傳入的不就是Dog類的對象嗎,為什么變成了Object類了,是因為equals里調用的形參是Object類嗎,自動把dog2轉換成Object類嗎

正在回答

3 回答

剛開始我也有相同的疑惑,覺得還是得把視頻多看幾遍

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

一開始傳入的obj為Object類型,

Object是所有類的父類

Dog other=(Dog) obj

的意思是把參數obj(對比對象)強制轉化為Dog類型,實例化成Dog類型的other對象

并非把Dog2轉換成Object類,Dog2是引用,而是Dog類的父類就是Object類,Object是所有類的父類

1 回復 有任何疑惑可以回復我~

經過getClass()!= obj.getClass() 比較之后發現兩個對象的所攜帶的信息類型相同之后,

Dog other=(Dog) obj

obj(它是一個參數值的傳遞,即被比較中一個對象)強制轉化為另一個對象的類的對象,就是說轉化為相同類下的兩個對象

在之后就是比較這兩個對象的屬性值是否相同。


0 回復 有任何疑惑可以回復我~
#1

慕圣8425527

如果參數不是Dog的對象,if (getClass() != obj.getClass())語句不是返回true嗎?然后執行下面的return false,就結束運行嗎?
2020-05-29 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

Dog other=(Dog) obj這塊我還是不懂

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號