Java 为什么可以';我在main中实例化一个内部类吗?
为什么编译器在这里抱怨?它不允许我在main中创建Java 为什么可以';我在main中实例化一个内部类吗?,java,Java,为什么编译器在这里抱怨?它不允许我在main中创建包装器对象。MyList是一个单独的类。我如何创建它 public class BinaryTree { Node root; class Wrapper { MyList.Node node; } class Node { Integer value; Node left; Node right; Node(int value)
包装器
对象。MyList是一个单独的类。我如何创建它
public class BinaryTree {
Node root;
class Wrapper {
MyList.Node node;
}
class Node {
Integer value;
Node left;
Node right;
Node(int value) {
this.value = value;
}
}
public static void main() {
MyList list = new MyList();
Wrapper w = new Wrapper();
w.node = list.getHead();
}
}
包装器
需要声明为静态:
static class Wrapper
您是否考虑过将所有这些类移动到单独的文件中
(这是假设您的
main
方法位于BinaryTree
中。如果不是,您还需要应用Preet Sangha建议的方法。)包装器
需要声明为静态:
static class Wrapper
您是否考虑过将所有这些类移动到单独的文件中
(这是假设您的
main
方法位于BinaryTree
中。否则,您还需要应用Preet Sangha建议的方法。)包装器是一个内部(非静态嵌套)类。为了创建一个对象,它应该是静态的或通过外部类进行访问,例如newbinarytree()。new Wrapper()
Wrapper是一个内部(非静态嵌套)类。为了创建一个对象,它应该是静态的或者通过外部类访问,例如newbinarytree()。new Wrapper()
Wrapper
是BinaryTree
的非静态内部类。有两种方法可以创建包装器的对象:
Wrapper
设为静态,并直接将Wrapper
的对象创建为Wrapper=new Wrapper()代码>
BinaryTree
,并使用BinaryTree
的对象,创建Wrapper
的对象,如下所示:Wrapper
是BinaryTree
的非静态内部类。有两种方法可以创建包装器的对象:
Wrapper
设为静态,并直接将Wrapper
的对象创建为Wrapper=new Wrapper()代码>
BinaryTree
,并使用BinaryTree
的对象,创建Wrapper
的对象,如下所示:发布编译器投诉。-1未发布编译器错误。仅供参考,此问题与
main
无关,与static
有关。发布编译器投诉。-1未发布编译器错误。仅供参考,此问题与main
无关,与static
有关。