[語法] 內部類別的句子

看板java作者 (達)時間8年前 (2017/04/10 16:19), 8年前編輯推噓4(4015)
留言19則, 5人參與, 最新討論串1/1
林信良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

04/10 17:10, , 1F
不就field? 跟上一行的Object o;一樣啊
04/10 17:10, 1F

04/10 17:14, , 2F
class Node有個field叫next、type為Node(的reference)
04/10 17:14, 2F

04/10 19:16, , 3F
可能是不懂為什麼class裡面可以宣告跟自己一樣的型別?
04/10 19:16, 3F
對 我的疑問在此

04/10 19:18, , 4F
如果是的話,Java沒有限制不行將自己本身當作field喔。而
04/10 19:18, 4F

04/10 19:18, , 5F
且還很常見(如單例和靜態工廠之類的寫法)
04/10 19:18, 5F

04/10 20:47, , 6F
應該說是因為reference type變數就只是reference(pointer)
04/10 20:47, 6F

04/10 20:48, , 7F
如果像某些語言的struct那很自然不能在自己裡面放一個自己
04/10 20:48, 7F

04/11 11:19, , 8F
這個自己可能是別人阿
04/11 11:19, 8F

04/11 11:20, , 9F
應該是K大說的那樣吧
04/11 11:20, 9F

04/11 13:08, , 10F
看不懂自己可能是別人是什麼意思...
04/11 13:08, 10F

04/11 13:10, , 11F
另外也看不懂跟singleton關係在哪,那通常是static field
04/11 13:10, 11F

04/11 13:11, , 12F
跟這個是每個instance都會有個同type的field不一樣
04/11 13:11, 12F

04/11 20:32, , 13F
看懂了大概是說: 自己(reference)可能是別人(instance)
04/11 20:32, 13F

04/11 20:32, , 14F
但是根本原理還是那個自己(reference)就不是自己(instance)
04/11 20:32, 14F

04/11 20:36, , 15F
instance中不可能有同type的instance,會變無窮遞迴定義
04/11 20:36, 15F

04/11 20:40, , 16F
但是reference就沒差
04/11 20:40, 16F
※ 編輯: dharma (210.65.89.53), 04/11/2017 22:50:59

04/12 09:05, , 17F
就算那reference 是自己又如何?重點不在這吧
04/12 09:05, 17F

04/16 10:24, , 18F
如果你是熟悉 C++ 的人, 把這種物件參考都當成指標就行了
04/16 10:24, 18F

04/16 22:24, , 19F
我是說原PO不懂的點
04/16 22:24, 19F
文章代碼(AID): #1Owp_tL- (java)
文章代碼(AID): #1Owp_tL- (java)