看板 java 關於我們 聯絡資訊
林信良Java書上看到的範例 不太懂「Node next;」為什麼可以出現在那個位置 thanks public class SimpleLinkedList { private class Node { Node(Object o) { this.o = o; } Object o; Node next; } ...(省略) } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.65.89.53 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1491812343.A.57E.html
ssccg: 不就field? 跟上一行的Object o;一樣啊 04/10 17:10
ssccg: class Node有個field叫next、type為Node(的reference) 04/10 17:14
kyleJ: 可能是不懂為什麼class裡面可以宣告跟自己一樣的型別? 04/10 19:16
對 我的疑問在此
kyleJ: 如果是的話,Java沒有限制不行將自己本身當作field喔。而 04/10 19:18
kyleJ: 且還很常見(如單例和靜態工廠之類的寫法) 04/10 19:18
ssccg: 應該說是因為reference type變數就只是reference(pointer) 04/10 20:47
ssccg: 如果像某些語言的struct那很自然不能在自己裡面放一個自己 04/10 20:48
gmoz: 這個自己可能是別人阿 04/11 11:19
gmoz: 應該是K大說的那樣吧 04/11 11:20
ssccg: 看不懂自己可能是別人是什麼意思... 04/11 13:08
ssccg: 另外也看不懂跟singleton關係在哪,那通常是static field 04/11 13:10
ssccg: 跟這個是每個instance都會有個同type的field不一樣 04/11 13:11
ssccg: 看懂了大概是說: 自己(reference)可能是別人(instance) 04/11 20:32
ssccg: 但是根本原理還是那個自己(reference)就不是自己(instance) 04/11 20:32
ssccg: instance中不可能有同type的instance,會變無窮遞迴定義 04/11 20:36
ssccg: 但是reference就沒差 04/11 20:40
※ 編輯: dharma (210.65.89.53), 04/11/2017 22:50:59
adrianshum: 就算那reference 是自己又如何?重點不在這吧 04/12 09:05
LPH66: 如果你是熟悉 C++ 的人, 把這種物件參考都當成指標就行了 04/16 10:24
gmoz: 我是說原PO不懂的點 04/16 22:24