访问“这个”从Java匿名类访问“这个”从Java匿名类(Access “this” from Ja

2019-05-16 19:39发布

考虑下面的代码:

public interface Selectable {
  public void select();
}

public class Container implements Selectable {
  public void select() {
  ...
  }
  public void createAnonymousClass() {
    Selectable s = new Selectable() {
      public void select() {
        //see comment below.
      }
    };
  }
}

我想访问Container.select()从我的匿名类中select()方法。 然而, this.select()将再次调用匿名类的select()方法。

我的建议是:

介绍一个领域到容器,如

private Container self = this;

现在,我可以访问Container.select()调用self.select()从匿名类中。

这是一个合理的方式? 还是有什么更好的办法?

Answer 1:

Container.this.select();


Answer 2:

你可以写Container.this.select()从内部类不同!



文章来源: Access “this” from Java anonymous class