0

我们知道要创建实例内部类的对象,我们必须遵循这个语法

<OuterClassName>.<InnerClassName> innerObj = outerObj.new <InnerClassName>(arguments);

对于静态类,语法是这样的

<OuterClassName>.<InnerClassName> innerObj = new <OuterClassName>.<InnerClassName>(arguments);

但我无法理解outerObj.new <InnerClassName>(arguments);new <OuterClassName>.<InnerClassName>(arguments);创建对象之间的区别。

4

2 回答 2

4

当内部类不是静态的时,您需要外部类的引用来引用它。因此,outerObj.new InnerClass()。而且您不需要外部类实例(对象)来引用静态内部类。

于 2013-03-15T09:04:00.760 回答
0

这是因为如果你有一个静态类,你一开始就不能实例化它,所以你没有这样的 outerObj,通过它你可以创建所需的内部类实例。

于 2013-03-15T09:04:28.900 回答