父類中this的含義
阿新 • • 發佈:2019-01-01
父類中this指代的是那個物件?
最近打算把《第一行程式碼》這本書再看看,之前都是隨用隨學,有些東西並沒有理解的很好。再看到第二章的時候,看到了如下程式碼:
public class BaseActivity extends AppCompatActivity {
private static final String TAG = "BaseActivity";
@Override
public void onCreate(@Nullable Bundle savedInstanceStatee) {
super.onCreate(savedInstanceStatee);
Log.d(TAG, getClass().getSimpleName());
ActivityCollector.addActivty(this );
}
@Override
protected void onDestroy() {
super.onDestroy();
ActivityCollector.removeActivty(this);
}
}
打印出的class名稱分別是繼承該類的子類的名稱,而不是當前BaseActivity的名稱。因此查了一下程式碼中this的指代,在下面的連結中看到,在繼承關係中,不管父類還是子類,這些類裡面的this都代表了最終new出來的那個型別的例項物件,因此當哪個Activity被建立時,父類中的this指代的就是哪個子類Activity物件!