[语法] 内部类别的句子

楼主: 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