Dog other=(Dog) obj這塊我還是不懂
調(diào)用equals的時候,傳入的不就是Dog類的對象嗎,為什么變成了Object類了,是因為equals里調(diào)用的形參是Object類嗎,自動把dog2轉(zhuǎn)換成Object類嗎
調(diào)用equals的時候,傳入的不就是Dog類的對象嗎,為什么變成了Object類了,是因為equals里調(diào)用的形參是Object類嗎,自動把dog2轉(zhuǎn)換成Object類嗎
2019-08-04
舉報
2019-09-28
剛開始我也有相同的疑惑,覺得還是得把視頻多看幾遍
2019-08-14
一開始傳入的obj為Object類型,
Object是所有類的父類
Dog other=(Dog) obj
的意思是把參數(shù)obj(對比對象)強制轉(zhuǎn)化為Dog類型,實例化成Dog類型的other對象
并非把Dog2轉(zhuǎn)換成Object類,Dog2是引用,而是Dog類的父類就是Object類,Object是所有類的父類
2019-08-04
經(jīng)過getClass()!= obj.getClass() 比較之后發(fā)現(xiàn)兩個對象的所攜帶的信息類型相同之后,
Dog other=(Dog) obj
obj(它是一個參數(shù)值的傳遞,即被比較中一個對象)強制轉(zhuǎn)化為另一個對象的類的對象,就是說轉(zhuǎn)化為相同類下的兩個對象
在之后就是比較這兩個對象的屬性值是否相同。