java - 无法创建内部类数组

标签 java arrays inner-classes

<分区>

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

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 引用的数组,所以你可以像创建任何数组一样创建它(不管元素类型如何作为一个内部类):

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

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

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

关于java - 无法创建内部类数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45476349/

相关文章:

指针和多维数组的 C++ 双重间接寻址

java - 内部类的目的是什么

Java-是否可以在不创建新实例的情况下从内部类返回值

java - 如何在一种方法中获取从 java 中的 CSV 文件读取的值并在另一种方法中使用它们?

java - 使用 Jackson 通过 @JsonUnwrapped 反序列化多态类型

javascript - 按元素对数据数组进行分组和求和

python - 为什么 a[1 :-1:-1] with a=[1, 2,3] 返回 []?

java - 从外部类访问内部类的私有(private)实例变量

java - Java中同名的点类对象

java - 斐波那契递归前