后者更为明确,如果内部类中存在相同名称的方法,则可以调用外部类方法。
class OuterClass {
void foo() { System.out.println("Outer foo"); }
View.OnClickListener mListener1 = new View.OnClickListener() {
void foo() { System.out.println("Inner foo"); }
@Override public void onClick(View view) {
foo(); //Calls inner foo
OuterClass.this.foo(); //Calls outer foo
}
}
View.OnClickListener mListener2 = new View.OnClickListener() {
@Override public void onClick(View view) {
foo(); //Calls outer foo
OuterClass.this.foo(); //Calls outer foo
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句