Java常見問題之this()和super()的用法

本博客已遷往http://coredumper.cn


this()用法:

一個構造函數可以使用this()來調用同一個類的另外一個構造函數。
一個構造函數最多隻能調用一次this(),且this()只能作爲構造函數的第一條語句。


super()用法:
一個構造函數使用super()來調用父類的構造函數。
如果沒有爲一個類編寫構造函數,則編譯器會自動構造一個不帶參數的構造函數,且構造函數中只有一條語句super();。
如果爲一個類編寫了構造函數,但是構造函數中沒有調用super(),則編譯器會自動在構造函數的起始位置中添加語句super();。
super()只能調用父類中不帶參數的構造函數,如果需要調用父類中帶有參數的構造函數,則需要在構造函數的起始位置顯示調用super(),並傳入參數。尤其需要注意,如果父類中沒有默認構造函數(即所有構造函數都帶參數),則必須在子類的構造函數中顯示調用super(),並傳入參數,否則會編譯出錯。


注意:每個構造函數只能選擇調用super()和this()中的一個,不能同時調用。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章