【发布时间】:2021-04-15 00:28:48
【问题描述】:
我无法弄清楚 this 在匿名类方法中引用的对象是什么。 两个例子:
- 如果我为 onClick 实现匿名实现,例如:
View.setOnClickListener(new View.onClick() {
public void onClick(View v) {
...
this. //to which object this refers?
}
}
2.假设我有以下界面:
interface WebResponseHandler {
public void onWebResponseFinished(String jsonString)
}
在某个类中,我定义了一个实现上述接口的变量:
private onInitWebResponseHandler = new VolleyHandler.WebResponseHandler() {
public void onWebResponseFinished(String jsonString) {
.....
this // to which object this refers to?
}
}
我惊讶在第二个例子中 this 指的是类 private onInitWebResponseHandler 是 onInitWebResponseHandler 的一部分而不是直接引用
【问题讨论】:
-
我敢说,是“这个”。
-
在我看来这不像 Java 语法。或者是什么版本?
-
@Bentaye,现在全部使用 Java
-
注意:异步修改实例变量是不好的做法。您应该使用回调结果调用其他方法
-
@OneCricketeer,对不起,我没听懂你的意思
标签: java android anonymous-class