作者:
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就沒差
就算那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不懂的點