/*建構函式的this和super的呼叫
*/class a
a()a(int i)
}class b extends a
b(int i)}/*
1 輸出結果:啥也沒輸出
2 輸出結果:a b
3 輸出結果:a aa bb
this和super的區別:兩者的呼叫很相似,區別在於
super呼叫的是其父類的構造方法,this呼叫的是同乙個類中重灌的構造方法;
使用super呼叫父類構造方法時必須出現在子類構造方法的第一行,兩者不能同時出現。
子類構造方法的呼叫父類構造方法的主要有一下幾種情況:
1 子類構造方法執行體的第一行**使用super顯示呼叫父類構造方法,
系統將根據super呼叫裡傳入的實參列表呼叫父類對應的構造方法。
2 子類構造方法執行體的第一行**使用this顯示調本類中過載構造方法,
系統將根據this呼叫裡傳入的實參列表呼叫本類另乙個的構造方法,
執行本類中另乙個構造方法時即會呼叫父類的構造方法。
3 子類構造方法中既沒有super呼叫,也沒有this呼叫,系統將會在執行子類構造方法之前,
隱式呼叫分類無引數的構造方法。
*/
構造方法中的this和super
自己第一次看完se的時候還不是很了解,這些什麼this,super,但是現在要開始找實習工作了,自己打算就把se,框架等在看一遍,也把自己看的一些整理出來 this 當前類的物件的引用 那有那些應用呢?1.區分成員變數和區域性變數 這段 我相信很多人都寫過,在setname 方法中有乙個和成員變數重...
super在建構函式中的運用
package example 在子類構造物件時,訪問子類建構函式時候,父類也執行。原因是 在子類的建構函式中第一行有乙個預設的隱式語句super 建構函式不能覆蓋 子類的例項化過程 子類中所有的建構函式預設都不能訪問父類中空引數的建構函式。通過super 來呼叫。為什麼子類例項化的時候要訪問父類中...
super呼叫超類建構函式
一 super呼叫超類建構函式 super parameter list parameter list指定超類中建構函式所需的任何形參,super 必須是在子類建構函式中執行的第乙個語句。超類定義的任何形式的建構函式都可以被super 呼叫,被執行的建構函式就是與實參相匹配的那乙個。當存在多重繼承時...