1

現在の状態でJavaで正しい変数を選択することについて非常に混乱しています。たとえば、次のコードがあります。

A object1 = new A(){
    onUpdate(){
        B object2 = new B(){
            onStarted(){
                 this.setColor();
            }
        };
    }
};

コードは私の問題を説明する唯一の例です。問題は

this.setColor();

"this" は常に object2 を指します。「これ」でobject1を指したい。どうやってやるの?

4

2 に答える 2

3

あなたはこのようにすることができます:

final A object1 = new A(){
    onUpdate(){
        B object2 = new B(){
            onStarted(){
                 object1.setColor();
            }
        };
    }
};

thisが内部にあるため、 が の現在のインスタンスを参照するBのは正常です。thisB

また、これが機能object1するにはfinal.

于 2013-07-05T07:04:13.347 に答える