3 回答
已采納

JustWannaHugU
TA貢獻452條經驗 獲得超796個贊
Object是任何類的父類;推一下:因為Object 的子類是Animal,Animal的子類是Dog
推出Object的子類是Dog
在這個視頻中obj是Object類的一個實例對象
你困惑的代碼是重寫后的equals方法
這段代碼要傳入一個Object對象的;
Dog other=(Dog)obj這段代碼的作用是:在兩個對象(obj和當前比較對象)是相同類型的情況下,將obj類強制轉換成Dog子類型,再比較兩個變量的屬性值是否相等,目的是為了判斷兩個對象是否相同~
getClass是反射知識,你以后才會學到,不過你要清楚的是,Dog other=(Dog)obj是向下轉型,在保證安全的情況下(經過getclass()的判斷已經能保證是同一個對象了),才可以將大類型的強制轉化成小類型的對象~

JustWannaHugU
TA貢獻452條經驗 獲得超796個贊
沒找到你說的視頻是哪個?...
重寫equals那一節(jié)沒有obj和other啊...
你也不發(fā)鏈接,
還有這個問題:放在同一個類里面才能比較他們的屬性嗎?
不知道你哪不懂

JustWannaHugU
TA貢獻452條經驗 獲得超796個贊
這行代碼的意思是把obj強制轉換成Dog類型的對象
這屬于向下轉型,應該是有他的目的,具體代碼具體分析
Dog類是obj所屬類的一個具體子類~
添加回答
舉報
0/150
提交
取消