如何从回调函数中调用 class 变量?

How can I call a class variable from a callback function?

我有一个 class 具有以下结构:

public class MyClass {

    private double myDouble;
    private MyObject myObject;

    public myMethod() {

        AnotherObject anotherObject = new AnotherObject();        
        anotherObject.getInfo(new Callback<String>() {
            @Override
            public void success(MyObject myObject) {
                this.myObject = myObject; // this is what I would like to do
            }

            // and a method for the failure case
        });

    }
}

本质上,我正在寻找一种方法来保存从实例变量 myObject (this.myObject) 中的 success 方法获得的 myObject 的值.目前,使用上面的代码,我收到一条 "Cannot resolve symbol 'myObject'" 消息。

这可能吗?

你很接近,因为你在一个内部 class 中,你必须在 this 前加上一些额外的信息:

MyClass.this.myObject = myObject;

否则this指的是你定义的匿名Callbackclass。