[語法] 內部類別的句子

作者: dharma (達)   2017-04-10 16:19:01
林信良Java書上看到的範例
不太懂「Node next;」為什麼可以出現在那個位置
thanks
public class SimpleLinkedList {
private class Node {
Node(Object o) {
this.o = o;
}
Object o;
Node next;
}
...(省略)
}
作者: ssccg (23)   2017-04-10 17:10:00
不就field? 跟上一行的Object o;一樣啊class Node有個field叫next、type為Node(的reference)
作者: kyleJ (資工人)   2017-04-10 19:16:00
可能是不懂為什麼class裡面可以宣告跟自己一樣的型別?如果是的話,Java沒有限制不行將自己本身當作field喔。而且還很常見(如單例和靜態工廠之類的寫法)
作者: ssccg (23)   2017-04-10 20:47:00
應該說是因為reference type變數就只是reference(pointer)如果像某些語言的struct那很自然不能在自己裡面放一個自己
作者: gmoz ( This can't do that. )   2017-04-11 11:19:00
這個自己可能是別人阿應該是K大說的那樣吧
作者: ssccg (23)   2017-04-11 13:08:00
看不懂自己可能是別人是什麼意思...另外也看不懂跟singleton關係在哪,那通常是static field跟這個是每個instance都會有個同type的field不一樣看懂了大概是說: 自己(reference)可能是別人(instance)但是根本原理還是那個自己(reference)就不是自己(instance)instance中不可能有同type的instance,會變無窮遞迴定義但是reference就沒差
作者: adrianshum (Alien)   2017-04-12 09:05:00
就算那reference 是自己又如何?重點不在這吧
作者: LPH66 (-6.2598534e+18f)   2017-04-16 10:24:00
如果你是熟悉 C++ 的人, 把這種物件參考都當成指標就行了
作者: gmoz ( This can't do that. )   2017-04-16 22:24:00
我是說原PO不懂的點

Links booklink

Contact Us: admin [ a t ] ucptt.com