PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
java
[問題] 產生class的reference?
作者:
k80092
(遊)
2015-12-27 18:55:25
最近初學java,在看thinking in java(中譯本)這本書。
其中有個練習題這麼寫著「續上題,產生Dog的reference並將它指派至
表示"spot"的object。請分別使用==以及equals()來比較所有的reference」
我知道作者希望我學會的東西,產生一個class的object我知道,
但是所謂產生一個class的reference是怎麼一回事呢?
我搞不太懂...可否請教一下大家:(
謝謝各位~
作者:
icydream
(巧虎)
2015-12-27 20:27:00
Dog spot = new Dog(); spot 就是一個reference,它參考到new Dog()這個instance上。
作者:
k80092
(遊)
2015-12-27 22:28:00
可是Dog spot=new Dog();我在上一題已經做過一次了,他寫說是產生Dog的object,所以我才疑惑到底是...?還是其實「產生Dog的object」不是Dog spot = new Dog();?
作者:
fgh81113
(阿景)
2015-12-27 23:18:00
沒意外的話題目應該是想要叫你測試 == 和 equals的差異Dog xx;xx = spot;System.out.println(xx == spot);System.out.println(xx.equals(spot));
作者:
k80092
(遊)
2015-12-27 23:24:00
是的,只是我不懂他叫我產生一個Dog的reference去跟spot做
作者:
fgh81113
(阿景)
2015-12-27 23:25:00
這樣? 老實說有上一題我還是看不懂
作者:
k80092
(遊)
2015-12-27 23:25:00
做比較,所以這個所謂產生reference跟產生object是不同的意思嗎?其實這本書的練習題我有一些無法意會他的題意,但也苦無解答可以參考:(
作者:
fgh81113
(阿景)
2015-12-27 23:27:00
這題很奇怪 name沒用到要你列印出來 是不是翻譯有問題
作者:
k80092
(遊)
2015-12-27 23:30:00
這我也不知道~囧>
作者:
illegalplan
(illegal plan)
2015-12-27 23:42:00
Dog xx;是一個Dog的reference 尚未指名任何instancexx = spot;現在有三個reference 有兩個instance如果使用 xx == spot 是比較兩個reference使用指向同一個instance比較reference是否指向同一個instancexx跟spot指向同一個Dog的instance所以==運算子結果會是true,equals則視你實作內容而定至於產生一個reference這說法,經過編譯最佳化後,沒辦法保證Dog xx到底有沒有被配置空間。garbage collection會提到更多兩者的關係查詢equals跟==會得到更多有關這題的資料
作者:
k80092
(遊)
2015-12-29 09:28:00
嗯嗯,謝謝各位詳細的說明!
繼續閱讀
[出售]java認證考試兌換卷
john6072004
Re: [工具] 1個byte的影響
qrtt1
Fw: [情報] 2016 Taiwan CodeWars by HPE & HPI 第四屆正式開跑
yuntin
[問題] 從不同Package透過Interfac拿取Ararylist
freedom74569
[書籍] 售java考試券(巨匠購入)
psp10071007
[問題] 程式表示法縮寫
mitm
[問題] 有這種語法嗎
qazsd
[問題] 純白底去背、置中、存檔
iphone5566s
[問題] Https WebService問題
caty1010
Fw: [問題] 為什麼我的Eclipse用JUnit用起來怪怪的?
easterday
Links
booklink
Contact Us: admin [ a t ] ucptt.com