1. 程式人生 > >父類中this的含義

父類中this的含義

父類中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物件!