導航:首頁 > 方法技巧 > es6子類如何調用父類的方法

es6子類如何調用父類的方法

發布時間:2024-02-01 14:01:55

如何從子類中調用一個被重寫的父類的方法

比如class
child類繼承自class
parent,重載了parent的test方法,
那麼child類想調用父類的test方法時,可以寫成parent::test();
請採納,謝謝

Ⅱ 子類怎樣調用父類方法

publicclassSuperTest{
publicstaticvoidmain(String[]args){
Parentc=newParent();
c.addAll();
}
}

classParent{
publicvoidadd(){
System.out.println("Aadd...");
}

publicvoidaddAll(){
System.out.println("AaddALL...");
add();
//在父子類之間,如果在父類中使用this關鍵字,那麼運行子類時如果走到this行,指的是子類而不是父類。
//誰調用,this就是指誰
System.out.println(this.getClass());
}
}

classChildextendsParent{

@Override
publicvoidadd(){
//TODOAuto-generatedmethodstub
System.out.println("Badd...");
super.add();
}

@Override
publicvoidaddAll(){
//TODOAuto-generatedmethodstub
System.out.println("BaddALL...");
super.addAll();
}

}

最後輸出的結果是
BaddALL...
AaddALL...
Badd...
Aadd...
按我的理解,super.addAll()方法調用來Parent中的addAll(),而Parent中的addAll()調用了add()。這里的add最後調用的是Child的add(),既然是super.addAll(),為何最後竟然調用的是子類的add()方法。。。

這里涉及到的問題是當子類調用super走到父類的方法中,這時的對象this到底是指Child子類還是父類Parent?

正確答案是子類,this.add();其中的this是指當前對象,也就是Childc=newChild();中的c.

因此雖然是在父類中執行的add方法,但實際上執行的是子類的add方法

在父類的add 方法中

System.out.println(this.getClass());

結果是Child而不是Parent!

Ⅲ 如何從子類顯式得調用父類的構造方法

當父類中有多個構造函數,且沒有定義默認構造函數的話,當繼承或者創建對象的時候,系統將對變數進行初始化,但系統將不能在父類中找到默認構造函數,所以這個時候要指定一個已定義的構造函數。
「類可以沒有構造方法,但如果有多個構造方法,就應該要有默認的構造方法,
否則在繼承此類時,需要在子類中顯式調用父類的某一個非默認的構造方法了。」

class Parent{
Parent(int a,int b);
};
class Son:public class Parent{
Son();
Son(int a,int b);
};
int a,b;
Son(a,b);

閱讀全文

與es6子類如何調用父類的方法相關的資料

熱點內容
人參膏食用方法 瀏覽:742
有什麼方法快速積累財富 瀏覽:495
修補圖書的方法幼兒園圖片 瀏覽:189
函數的方法視頻講解 瀏覽:102
韌帶先天發育不良的鍛煉方法 瀏覽:281
excel中and函數的使用方法 瀏覽:269
榮耀20不允許截屏的解決方法 瀏覽:825
腋下測體溫方法夾哪裡 瀏覽:356
盆栽大蔥種植時間和方法視頻 瀏覽:928
副作用小的治療方法 瀏覽:867
了解松樹和椰樹是什麼傳播方法 瀏覽:170
男的早射能治療方法 瀏覽:114
簡單又好的的方法 瀏覽:730
學壓腿的正確方法 瀏覽:395
金花梨施肥的正確方法 瀏覽:695
有幾種鍛煉腰椎間盤突出的方法 瀏覽:638
康熙字典採用哪些注音方法 瀏覽:352
自測腸癌的方法和技巧 瀏覽:621
正確擦屁股的方法是 瀏覽:941
驗證是否為純合子可以用什麼方法 瀏覽:550