1. 程式人生 > >【java 建構函式】為什麼子類一定要訪問父類中的建構函式

【java 建構函式】為什麼子類一定要訪問父類中的建構函式

子類的所有建構函式中的第一行,其實都有一條隱身的語句super();


解釋:
super()表示父類的建構函式並會調用於引數相對應的父類中的建構函式。子類中,它在呼叫父類中空引數的建構函式。因為子類繼承父類,會繼承到父類中的資料,所以必須要看父類是如何對自己的資料進行初始化的。所以子類在進行物件初始化時,先呼叫父類的建構函式,這就是子類的例項化過程。


特注:
1、子類中所有的建構函式都會預設訪問父類中的空引數的建構函式,因為每一個子類構造內第一行都有預設的語句super();
2、若父類中沒有空引數的建構函式,那麼子類的建構函式內,必須通過super語句指定要訪問的父類中的建構函式;
3、若子類建構函式中用this來指定呼叫子類自己的建構函式,那麼被呼叫的建構函式也一樣會訪問父類中的建構函式。