在这种情况下,如果将Node类设为非静态类,则main方法将能够访问它。
class LinkedList
{
Node head;
static class Node {
int data;
Node next;
Node(int d) { data = d; next=null; } // Constructor
}
public static void main(String[] args)
{ ..............}
}
答案 0 :(得分:0)
是的,如果从类中实例化对象,则可以从main方法访问Node类。你可以这样做:
class LinkedList {
Node head;
class Node {
int data;
Node next;
Node(int d) { data = d; next=null; } // Constructor
}
public static void main(String[] args) {
//Instantiate your object
LinkedList.Node node = new LinkedList().new Node(0);
}
}
答案 1 :(得分:0)
在您的情况下,Node
是外部类LinkedList
的内部类。它们有不同的风格。
不同之处在于非静态类可以访问外部类的成员。为此,非静态类具有对外部类的隐式引用。
在您的情况下,使用非静态内部类会导致混淆,因为不同的Node实例可能引用不同的LinkedList。语义变得疯狂