0
finish()
和ActivityName.this.finish()
之間有什麼區別嗎?如果我們的活動名稱爲SampleActivity
,我們可以致電finish()
和SampleActivity.this.finish()
來完成。有什麼不同?finish()和ActivityName.this.finish()有什麼區別?
finish()
和ActivityName.this.finish()
之間有什麼區別嗎?如果我們的活動名稱爲SampleActivity
,我們可以致電finish()
和SampleActivity.this.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
}
};
}