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

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

eclipse生成的equals方法中Dog other = (Dog)obj疑問;

既然類對象都一樣了,也就是數(shù)據(jù)類型都一樣,為什么還要做這個強制轉(zhuǎn)換?不做轉(zhuǎn)換難道比較不了這兩個類的對象的屬性值?

正在回答

2 回答

不做轉(zhuǎn)換當然比較不了,雖然前面比較了類型,所以只有類型相同才會走到Dog other = (Dog) obj;這一行,但是你如果不寫這一行程序就不會知道obj其實也是Dog,就像我們知道如果能看到太陽在天上就一定是白天,但是如果你只是告訴程序太陽在天上,它并不能判斷出是白天,它只會嚴格按照我們指定的程序執(zhí)行,但是并不具有最基本的邏輯推理能力。

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

GrimNew 提問者

類型相同為什么還會走Dog other = (Dog) obj;,屬性名稱的數(shù)據(jù)類型都相同了,那直接去判斷age!=obj.age兩個屬性值是否相等不就好了嗎,何必把obj的屬性強制轉(zhuǎn)換成Dog再去判斷呢?簡單說,刪去Dog other = (Dog) obj;,if括號中改為age!=obj.age和例程一樣不?
2017-02-12 回復(fù) 有任何疑惑可以回復(fù)我~
#2

GrimNew 提問者

問題已經(jīng)解決。上面是我本來想問的,編輯了一會兒,自己又去探索了。我的這個問題出在重寫equals上,重寫的equals參數(shù)是Object obj,注意是Object,不是Dog,傳遞參數(shù)時沒有指明類型,所以強制類型轉(zhuǎn)換才能比較,我在IDEA自己寫著試了一下,把參數(shù)改成Dog.obj,那就可以直接去比較了。省去了自己改代碼的麻煩,IDE太強大。我把自己的問題寫出來方便大家,也算是學(xué)習成果了。
2017-02-12 回復(fù) 有任何疑惑可以回復(fù)我~
#3

GrimNew 提問者

3Q
2017-02-12 回復(fù) 有任何疑惑可以回復(fù)我~
#4

ziom 回復(fù) GrimNew 提問者

嗯,謝謝采納
2017-02-12 回復(fù) 有任何疑惑可以回復(fù)我~
#5

Justeasy 回復(fù) GrimNew 提問者

原來如此,樓主是你自己解決了這個問題
2017-07-20 回復(fù) 有任何疑惑可以回復(fù)我~
#6

Justeasy 回復(fù) GrimNew 提問者

樓主是你自己解決了這個問題
2017-07-20 回復(fù) 有任何疑惑可以回復(fù)我~
查看3條回復(fù)

同疑問,我再看看

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學(xué)習       531214    人
  • 解答問題       6327    個

課程升級!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會Java面向?qū)ο缶幊痰膴W妙

進入課程

eclipse生成的equals方法中Dog other = (Dog)obj疑問;

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

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

幫助反饋 APP下載

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

公眾號

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