想象一下,我有一个内部静态类的类
public class A {
public static class B {
}
}
在代码中的其他地方有一个B类实例,我可以访问A类实例吗?
答案 0 :(得分:2)
没有。由于您声明了B static
,因此没有对A的引用。
答案 1 :(得分:2)
你做不到。 B
是static
类,其所有实例未绑定到A
的实例。
如果B
不是static
,那么就有可能。
答案 2 :(得分:1)
只有在您添加对A的显式引用时才可行,例如:
public class A {
public static class B {
private final A a;
public B(A a){
this.a = a;
}
}
}
如果内部字符B不是静态的,则此引用将隐式可用(使用不同的语法):
public class A {
public class B {
...
A a = A.this;
...
}
}