Java匿名类和垃圾收集器

时间:2012-03-02 09:33:37

标签: 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?

1 个答案:

答案 0 :(得分:8)

不,在这种情况下外部实例仍然可以访问,因为每个非静态内部类都对其外部类实例具有隐式rerefence。