在网上搜索了很多论坛后,我已经有一段时间没弄明白了。
我在文件 A.java 中有一个类 A 和一个嵌套类 B 文件 C.java 中的另一个 C 类
现在我在类 A 中声明了一个对象 B 的数组,但我既不能访问也不能初始化类 A 或类 C 中的数组元素。
public class A{
public B b[] = new B[15]; //compiles
b[0] = new B(); //does not compile
// b[0] = this.new B(); //does not compile either
public class B{
}
}
现在在 C 类中,如果我执行以下操作:
public class C{
A a = new A(); //compiles
a.b[0] = a.new A.B(); //does not compile
}
有人可以帮忙吗?我想我在尝试访问嵌套实例数组时在语法上犯了一些基本错误。谢谢!
最佳答案
您不需要使用A
来访问B
类构造函数。您已经在 A
类实例上访问它。只需将您的声明更改为:
a.b[0] = a.new B();
引用:
当然,该赋值必须在某些方法、构造函数或初始化器中。你不能像那样直接在类中使用语句。 A
类中的作业也存在同样的问题。
因此,您应该将类 C
更改为如下内容:
class C {
A a = new A(); //compiles
{
a.b[0] = a.new B();
}
}
关于java - 在 Java 中访问嵌套对象的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18628508/