楼主:
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不懂的点