我遇到了如下代码片段,用于实现链接列表:
public static class Element<AnyType> {
private AnyType data;
private Element<AnyType> next; // reference to the next node
Element(AnyType d, Element<AnyType> e) {
data = d;
next = e;
}
}
有人能告诉我这是怎么回事吗? Java类(在我的例子中是Element)如何具有自己类型的实例变量?
答案 0 :(得分:1)
Java类(在我的例子中是Element)如何拥有自己类型的实例变量?
实际上它没有。 Java只有原始和引用变量,而不是实例。这意味着next
只是一个参考,最初为null
。
private AnyType data; // a reference to an AnyType object
private Element<AnyType> next; // reference to the next node
BTW评论确实说明它是一个参考而不是一个实例。
为什么C ++中没有特殊的符号?因为在Java中没有其他选项,所以没有理由拥有&
或类似的。