如何实例化多个嵌套的非静态内部 类 - java

How to instantiate multiple nested non-static inner classes - java

我有以下代码:

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
}

要实例化内部 class,您必须首先实例化外部 class。所以,你不能声明 A a= ..,你需要用外部 class 包裹它,如下所示:

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

要访问class你必须使用外部class名称,只有这样你才能拥有内部class的引用变量。例如:

InnerClassStuff object = new InnerClassStuff();
InnerClassStuff.A a = object.new A();
InnerClassStuff.A.AA aa = a.new AA();