0

次のコードを見ました。

 mActionMode = OverviewActivity.this
        .startActionMode(mActionModeCallback);

私はこれをAndroid Devで見ました。チュートリアル

このように関数を呼び出す利点は何ですか? コードを次のように変更しました。

mActionMode = startActionMode(mActionModeCallback);

しかし、私は何の変化も見ませんでした。

4

2 に答える 2

2

違いがある場合は、外部クラスのメソッドを呼び出すことです。

class Outer {
   void methodA() { }

   class Inner {
       void methodA() { }

       void method() {
            methodA(); // call my methodA();
            Outer.this.methodA(); // calls the Outer.methodA();
       }
   }
}

開発者が具体的である必要がなくても、具体的であることを好んだ可能性があります。

于 2012-08-11T06:37:57.447 に答える
1

ネストされたクラス メンバーと同じ名前のメンバーを持つ外部クラスがある場合に便利です。

public class Test {

    public static void main(String[] args) {
        new Test().new Inner().run();
    }

    class Inner {
        public void run() {
            foo(); // Prints Inner.foo
            Test.this.foo(); // Prints Test.foo
        }

        public void foo() {
            System.out.println("Inner.foo");
        }
    }

    public void foo() {
        System.out.println("Test.foo");
    }
}
于 2012-08-11T06:37:25.173 に答える