编程语言
首页 > 编程语言> > Java:在匿名操作处理程序中获取“this”的正确上下文

Java:在匿名操作处理程序中获取“this”的正确上下文

作者:互联网

我注意到我正在查看的一些代码,作者使用了:

class MainClass
{
  protected int someVar = 1;

  private SomeClass someClass = new SomeClass(this, new SomeActionListener() {
    protected void onAction() {
      MainClass.this.someVar ++;
    }
  });

  public MainClass()
  {
  }
}

请注意他是如何使用MainClass.this获取’this’的正确上下文来将范围更改回MainClass的.我以前从未见过这个 – 有人可以解释一下吗?

解决方法:

匿名实例绑定到创建它的实例的范围.因此它也可以访问其中的所有内容.这将引用匿名实例和MainClass.this到创建匿名实例的实例.例如,如果someClass成员已声明为static,则无法使用MainClass.this.

标签:andengine,android,java
来源: https://codeday.me/bug/20190903/1797541.html