回调中的Java引用外部类作用域
在类回调中的Java引用外部类作用域,java,Java,在类Foo中,我正在执行HTTP post,返回回调: class Foo { private static void send() { HttpPostRequest task = new HttpPostRequest(data, new HttpPostRequest.CustomCallback() { @Override public void completionHandler(Boolean success
Foo
中,我正在执行HTTP post,返回回调:
class Foo {
private static void send() {
HttpPostRequest task = new HttpPostRequest(data, new HttpPostRequest.CustomCallback() {
@Override
public void completionHandler(Boolean success, String result) {
// this doesn't work
// this.anotherMethod();
}
});
task.execute("https://foo.org");
}
private static void anotherMethod() {
// i need to do things here...
}
}
这个回调可以工作,但是我需要调用外部类作用域中的另一个方法。我不知道该怎么做:如何正确引用这个外部范围?当两个方法都是静态的时,您只需调用:
Foo.anotherMethod()
如果两者都不是静态的,则可以执行以下操作:
Foo.this.anotherMethod()
这还会引用实例变量吗?例如外部类实例中的
this.myVariable
。@dthree这是我提到的第二个选项(只有在两个方法都不是静态的情况下才可行)。当一个方法是静态的时,它不会引用任何实例,因为它是类方法而不是实例方法。谢谢