0
finish()
과 ActivityName.this.finish()
사이에 어떤 차이가 있습니까? 이름이 SampleActivity
인 활동이있는 경우 finish()
및 으로 전화를 마무리 할 수 있습니다. 그 차이점은 무엇입니까?finish()와 ActivityName.this.finish()의 차이점은 무엇입니까?
finish()
과 ActivityName.this.finish()
사이에 어떤 차이가 있습니까? 이름이 SampleActivity
인 활동이있는 경우 finish()
및 으로 전화를 마무리 할 수 있습니다. 그 차이점은 무엇입니까?finish()와 ActivityName.this.finish()의 차이점은 무엇입니까?
대개 내부 클래스에 속하는 경우를 제외하고는 동일합니다.
이 경우 두 번째 표기법을 사용하여 포함하는 활동의 메소드에 대한 호출을 모호하게합니다. 예를 들어
:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
finish(); // the activity's finish()
new Runnable() {
private void finish() {
...
}
@Override
public void run() {
SampleActivity.this.finish(); // the activity's finish()
finish(); // the runnable's finish()
}
};
new Runnable() {
@Override
public void run() {
SampleActivity.this.finish(); // the activity's finish()
finish(); // the activity's finish() (because the inner class doesn't hide it
}
};
}