java引用“this”来自匿名方法

时间:2012-11-06 15:19:51

标签: java anonymous-class

  

可能重复:
  Keyword for the outer class from an anonymous inner class?

我的班级(我们称之为MyClass)有m_listener成员,用于通知目的。在匿名方法中使用它没有问题:

private void myMethod(SomeObj myObj)
{
    ...
    myObj.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            m_listener.myOnClick(this);
            return false;
        }
    });
    ...
}

在代码this中引用匿名OnTouchListener实例。我应该写什么而不是this来引用MyClass个实例(就像m_listener引用MyClass.m_listener,而不是OnTouchListener.m_listener)?

2 个答案:

答案 0 :(得分:4)

使用MyClass.this来引用外部MyClass实例。

答案 1 :(得分:1)

要引用MyClass实例,请使用MyClass.this