我想知道在 Java 中引用封闭的匿名类实例是否可能(以及如何实现)。
示例代码:
final Handler handler = new Handler();
handler.post(new Runnable() {
@Override
public void run() {
new Task() {
@Override
public void onTaskFinish() {
handler.post(?); // what should go here?
}
}.execute()
}
});
最佳答案
如果您也是 JavaScript 编码员,我敢打赌您不需要问这个 :) 有一种简单的方法可以实现您想要的(由于 this
周围的特殊语义,恰好是一个重要的 JavaScript 习语) .
handler.post(new Runnable() {
@Override
public void run() {
final Runnable self = this;
new Task() {
@Override
public void onTaskFinish() {
handler.post(self);
}
}.execute()
}
});
关于java - 如何在 Java 中引用封闭的匿名类实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28784624/