Java學習8-我所瞭解的Java中super和this
super:只是指向編譯器調用超類方法的一個特殊關鍵字,它不是一個對象引用,不能將super賦值給一個對象變量;
this:表示一個對象的引用,它指向正在執行方法的對象;
- super和this都能調用普通方法和構造函數,super在子類中還能調用父類非private成員變量;
- super和this調用構造器時,語句只能作爲另一個構造器的第一條,所以不能同時出現super(參數),this(參數);
- this可以作爲方法的隱式參數,這是Java默認的;
- 子類的構造函數中默認調用父類super(),但是如果父類沒有無參構造,那麼編譯就會出錯;
- 子類執行new操作時,執行父類的構造函數時出現的this代表是當前子類實例,此時父類也沒有被實例化,只是Java的調用規則;
- super只能在成員方法和構造內使用,不能再靜態代碼塊和靜態方法內使用;
我覺得編程語言也好以前讀書的時候也好,深入底層時,拼的是對基本概念的掌握和理解程度,所謂的一通百通我認爲就是這個原因,
因此,不要光顧着學習新的技術,新的API,回頭再溫故下很有幫助,共勉。