正如我们所知,要创建实例内部类的对象,我们必须遵循这种语法
<OuterClassName>.<InnerClassName> innerObj = outerObj.new <InnerClassName>(arguments);
对于静态类,语法就像这样
<OuterClassName>.<InnerClassName> innerObj = new <OuterClassName>.<InnerClassName>(arguments);
但我无法理解outerObj.new <InnerClassName>(arguments);
和new <OuterClassName>.<InnerClassName>(arguments);
之间的差异,以便创建一个对象。
答案 0 :(得分:4)
当内部类不是静态的时,你需要外部类的引用来引用它。因此outerObj.new是InnerClass()。并且您不需要外部类实例(对象)来引用静态内部类。
答案 1 :(得分:0)
这是因为如果你有一个静态类,你不能在第一时间实例化它,所以你没有这样的外部Obj,你可以通过它创建所需的内部类实例。