无法创建内部数组 class

Unable to create array of inner class

我是 java 的初学者。我想在 class 中创建内部 class 数组,而不是外部 class。但我不能因为编译器显示错误“(”预期。 帮助。

Tree test = new Tree();
Tree.Node[] A = test.new Node[10];

错误

Tree.java:72: error: '(' expected
Tree.Node[] A = test.new Node[10];
                         ^
1 error

创建数组时,您不会创建元素类型的实例,而只是创建一个包含 null 引用的数组,因此您可以像创建任何数组一样创建它(无论元素类型是内部 class):

Tree.Node[] A = new Tree.Node[10];

当你初始化数组的一个元素时,你创建了一个内部 class 的实例,它需要一个封闭的 class 实例:

A[0] = test.new Node ();

此代码行:

Tree.Node[] A = test.new Node[10];

无效,您可能对仅创建实例的语法感到困惑

Tree.Node fooA = test.new Node();

你要做什么必须写成:

Tree.Node[] A = new Tree.Node[10];

这是在 java

中声明内部 类 数组的正确方法