是否可以从内部类实例访问一个外部类实例?
问题描述:
想象我有一个类的内部静态类是否可以从内部类实例访问一个外部类实例?
public class A {
public static class B {
}
}
拥有B级别的地方的一个实例,在代码中,我可以访问A类的实例?
答
这是唯一可能的,如果你添加一个明确的参照,例如:
public class A {
public static class B {
private final A a;
public B(A a){
this.a = a;
}
}
}
如果内CLAS B为不是静态的,那么这种参考是隐含可用的(用不同的语法) :
public class A {
public class B {
...
A a = A.this;
...
}
}
答
号既然你宣布乙static
,还有就是A.
答
你不能没有提及。 B
是static
类,它的所有实例都是未绑定到A
的实例。
如果B
不static
,那么这将是可能的。