可以使用子类的名称在java中声明变量吗?我发现这段关于链表的代码非常令人困惑。请参阅如何声明列表的头部。有人可以解释一下吗?
class LinkedList { Node head; // head of list /* Linked list Node*/ class Node { int data; Node next; // Constructor to create a new node // Next is by default initialized // as null Node(int d) { data = d; } } }
答案 0 :(得分:1)
是的,对象确实可以包含对与实例成员相同类型的另一个对象的引用。
例如:
class Node {
int value;
Node next;
...
}
后来,
Node root = new Node(10);
System.out.println(root.next); // should be null
root.next = new Node(5);
System.out.println(root.next.value) // should be 5
是链接列表的主要定义。您有当前节点,该节点必须指向链表中下一个节点的引用。