Ily*_*hin 7 java garbage-collection jvm anonymous-class
让我们假设某些类是不可访问的,但是该类生成的另一个匿名类是可访问的.可以通过垃圾收集器删除第一个吗?
例:
class Outer {
public Object getInner() {
return new Object() {};
}
}
...
Outer outer = new Outer();
Object inner = outer.getInner();
// Could the "outer" instance be removed here considering that "inner" is using below?
Run Code Online (Sandbox Code Playgroud)
不,在这种情况下外部实例仍然可以访问,因为每个非静态内部类都对其外部类实例具有隐式rerefence.