使用super關(guān)鍵字在子類的構(gòu)造器里調(diào)用父類的普通方法,例如:
天水網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),天水網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為天水上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的天水做網(wǎng)站的公司定做!
/**
*?父類
*?
*?@author?qd
*
*/
class?F?{
public?void?teatA()?{
System.out.println("teatA方法");
}
}
/**
*?子類
*?
*?@author?qd
*
*/
class?S?extends?F?{
//?子類構(gòu)造器中調(diào)用父類普通方法
public?S()?{
super.teatA();
}
}
/**
*?測試類
*?
*?@author?qd
*
*/
public?class?Test1?{
public?static?void?main(String[]?args)?{
S?s?=?new?S();
}
}
運行結(jié)果:
最近我看見有人問過這個問題。在此我想表達一下自己的觀點。
根據(jù)面向?qū)ο笾嘘P(guān)于繼承這個概念子類繼承父類所有的屬性和方法。那么既然是所有的那么本人認為也應(yīng)當也包括構(gòu)造函數(shù)(方法)。
我先舉一個C++的例子:classParent{private:intp;public:Parent(void):p(0){}Parent(inti):p(i){}};classChild:publicParent{private:intc;public:Child(void):Parent(
),c(0){//在這里,創(chuàng)建Child對象時先構(gòu)造父類域}Child(inti):Parent(i+1
),c(i){//同上}};
由于構(gòu)造函數(shù)非常特別,對它的調(diào)用就像是調(diào)用一個C函數(shù)一樣,而不是利用對象來調(diào)用的(若不先構(gòu)造對象哪兒來的對象?)。因此鑒于這份特殊性我們可以這么考慮:
將上述代碼中classChild:publicParent去掉:
public
Parent,我們可以編譯試試,是否能成功。事實上正是因為Parent與Child有親子關(guān)系,所以Child構(gòu)造函數(shù)中可以調(diào)用Parent的構(gòu)造函數(shù)先對其Parent域進行初始化。這個特點非常符合工程學(xué)詳見我的文章《我比起Java更喜歡C++的理由語義》。
下面將貼出相應(yīng)的Java代碼:classParent{privateintp;publicParent(){p=0;}publicParent(inti){p=i;}}classChildextendsParent{privateintc;publicChild(){super();c=0;}publicChild(inti){super(i+1);c=i;}}
我們可以看到,在Java中可以利用super關(guān)鍵字來訪問本類父類的構(gòu)造方法。這樣在一定程度上也消除了歧異性比如你也可以在Child類中的某一個方法中這么寫:Parent
p
=
new
Parent();而利用super()就表示了子類在初始化本類域前先初始化其父類域。這也可以證明在Java中子類繼承父類構(gòu)造方法,并且子類可以通過super來訪問父類的構(gòu)造方法,只要父類的構(gòu)造方法不是private。
在做測試的時候,需要模擬HTTP server的handle函數(shù)直接調(diào)用:
就不用通過發(fā)送curl命令,而是直接調(diào)用handler函數(shù)的方式;這樣就需要手動構(gòu)造出一個http.ResponseWriter和http.Request,然后調(diào)用Handler函數(shù)。
好在golang自帶的"net/http/httptest"包就有這個功能:
如果使用"github.com/gorilla/mux"的router包想使用Vars可以這么設(shè)置:
然后在Handler函數(shù)里,就能使用:
網(wǎng)站名稱:go語言子類構(gòu)造方法 go語言沒有類
本文鏈接:http://muchs.cn/article14/doeihge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站設(shè)計、云服務(wù)器、定制網(wǎng)站、響應(yīng)式網(wǎng)站、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)