第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

equals方法真心看不懂 哪位好心人講解下

方法的()里的實參為什么是Object obj呀 Object是類型嗎?實參不是具體的值嗎

第三個if中g(shù)etcalss()!=obj。getcalss() 左邊是得到的類對象嗎 右邊呢?

最后dog other=(dog)obj視頻說是轉(zhuǎn)換類型 搞不懂 前面沒見過這個呀

http://img1.sycdn.imooc.com//57fb180e00016e6304810413.jpg

正在回答

1 回答

逐一作答了

  1. Object是java中所有類的父類,所以()中的Object obj的意思就是傳入一個Object類型的obj引用,這里是形參,但你使用的時候肯定傳入的是具體的對象變量了啊

  2. getClass()是反射方法,功能是得到當(dāng)前對象的類,這行代碼的意思就是判斷當(dāng)前對象的類是否與傳入的obj對象引用同屬一個類型,如果不是就沒有必要比較其成員變量屬性值了,直接返回false;

  3. Dog other = (Dog)obj;是屬于強制類型轉(zhuǎn)換,因為本方法中傳入的是Object對象引用,但我們比較的是Dog對象而且我們靜態(tài)getClass方法已經(jīng)可以確認(rèn)該obj引用對象實際上是一個Dog對象,所以這時候為了比較對象之間的成員變量屬性值是否相同(封裝性的原因,父類對象引用無法使用子類對象的屬性),我們就要將傳入的obj進(jìn)行強制類型轉(zhuǎn)換,即向下轉(zhuǎn)型為Dog對象

  4. 不用太糾結(jié)這些,弄明白equals方法的原理就行了,反射以后會慢慢學(xué)到的

  5. 默認(rèn)的Object的equals方法的實現(xiàn)是比較當(dāng)前對象的引用和要比較的引用是否指向同一個對象,我們平時使用的時候經(jīng)常需要重寫equals方法使它能比較對象的“值”是否相等,明白這一點就可以向下進(jìn)行了!

  6. 純手打,望采納

8 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qq_浮雲(yún)遊子_03977413 提問者

你說的getclass()是得到當(dāng)前對象的類 但是 視頻里說的是類對象呀 一樣嗎?
2016-10-16 回復(fù) 有任何疑惑可以回復(fù)我~
#2

JustWannaHugU 回復(fù) qq_浮雲(yún)遊子_03977413 提問者

是的,一個意思
2016-10-16 回復(fù) 有任何疑惑可以回復(fù)我~
#3

qq_浮雲(yún)遊子_03977413 提問者 回復(fù) JustWannaHugU

謝謝了
2016-10-17 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

equals方法真心看不懂 哪位好心人講解下

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號