我想在定义内部类之前在外部类中声明一个实例,但是在代码中导致了它的原因:
class LinkedList
{
Node head; //line3
class Node //line5
{
int data;
Node next;
Node(int d)
{
data = d;
next = null;
}
}
public void push(int new_data)
{
Node new_node = new Node(new_data); //line 20
new_node.next = head;
head = new_node;
}
我想在定义内部类之前在外部类中声明一个实例,但是在代码中引起了它的原因:class LinkedList {Node head; // line3类节点// line5 {...
类LikendList会在编译时首先检查其是否在该类的外部或内部的Node类,然后在编译LikendList之后编译Node类。如果在节点内提供一个LikendList,它将执行相同的操作并进行编译,但是在运行时可能会遇到循环引用错误
您可以这样做,因为Java编译器是smart