我是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
答案 0 :(得分:1)
创建数组时,不创建元素类型的实例,只创建一个包含null
引用的数组,因此您可以像创建任何数组一样创建它(无论元素类型是否为内部类):
Tree.Node[] A = new Tree.Node[10];
初始化数组元素时,需要创建内部类的实例,这需要一个封闭的类实例:
A[0] = test.new Node ();
答案 1 :(得分:0)
此代码行:
Tree.Node[] A = test.new Node[10];
无效,您可能会对仅创建实例的语法感到困惑
Tree.Node fooA = test.new Node();
您要做的事情必须写成:
Tree.Node[] A = new Tree.Node[10];
这是在java
中声明内部类数组的正确方法