【发布时间】:2017-08-27 14:49:37
【问题描述】:
我想问一下,在引用内部类或静态嵌套类时,什么时候需要显式写出外部类的名称。
例如:
class B {
static class Inner {
int a = 10;
}
}
class Test extends B {
public static void main(String[] args) {
Test t = new Test();
Inner obj = new Inner();
System.out.println(obj.a);
}
}
我想问的是什么情况下需要写:
B.Inner obj = new B.Inner();
而不是
Inner obj = new Inner();
【问题讨论】:
-
您在标题中说 Inner classes,但您的示例显示了一个静态嵌套类。根据您提供的初始化语法,我猜您是在询问静态嵌套类,这是真的吗?
-
是的,我对同时应用于内部类和静态嵌套类的问题感兴趣
-
您将非内部类命名为
Inner令人困惑。你认为这真的是个好主意吗?
标签: java inner-classes static-classes