我有以下代码:
public class InnerClassStuff {
public class A{
public class AA{}
}
}
我的问题是如何实例化AA对象?
我尝试了以下方法,但无法编译:
public static void main(String[] args){
InnerClassStuff object = new InnerClassStuff();
A a = object.new A();
AA aa = object.a.new AA(); //error
}
最佳答案
要实例化内部类,必须首先实例化外部类。因此,您无法声明A a= ..
,需要将其包装在外部类中,如下所示:
InnerClassStuff object = new InnerClassStuff();
InnerClassStuff.A.AA a = object.new A().new AA();
要么,
InnerClassStuff object = new InnerClassStuff();
InnerClassStuff.A a = object.new A();
InnerClassStuff.A.AA aa = a.new AA();