我有以下代码:

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();

10-07 18:47