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();
       }
   }
}

即使他/sge 不需要,开发人员也可能喜欢具体。

于 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 回答