導航:首頁 > 方法技巧 > 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子類如何調用父類的方法相關的資料

熱點內容
比例均勻的訓練方法 瀏覽:753
硅錳合金錳的分析方法 瀏覽:122
土豆做菜的最簡單方法 瀏覽:866
活性炭法檢測氡方法 瀏覽:885
如何提高數學成績的最佳方法小學 瀏覽:121
干鍋包菜製作方法怎麼樣燒才好吃 瀏覽:429
java如何根據傳入參數調方法 瀏覽:517
用什麼方法能緩解口舌乾燥 瀏覽:78
apollo計算方法 瀏覽:797
有肚子t恤下擺打結方法步驟 瀏覽:626
4歲幼兒口齒不清晰的治療方法 瀏覽:825
子宮肌瘤的治療方法小 瀏覽:77
手機充電器線的正確方法 瀏覽:494
如何快速生成get和set方法 瀏覽:683
小孩得了結核怎麼治療方法 瀏覽:634
比率電化學分析方法什麼意思 瀏覽:412
活塞波浪環的正確安裝方法 瀏覽:553
腳上長疣的治療方法 瀏覽:117
要用什麼方法寫字才快 瀏覽:559
原神中找封神童簡單的方法 瀏覽:668