課程
/后端開發(fā)
/Java
/Java入門第二季 升級版
最后的父類內(nèi)部定義了有參構(gòu)造函數(shù)方法,子類內(nèi)可不可以也重寫該構(gòu)造方法呢?
2015-10-24
源自:Java入門第二季 升級版 9-7
正在回答
不可以, ?構(gòu)造方法是不可以重寫的 ? ?如下,構(gòu)造方法名和類名是相同的,子類和父類類名不同,構(gòu)造方法自然不能相同,所以也談不上重寫
Class?A{ public?A{ } public?A(String?s){ } Class?B?extends?A{ public?B(String?s){ //super(s); }
smedlut 提問者
因該是可以的吧,構(gòu)造方法也是方法啊,只要在子類中創(chuàng)建與父類的構(gòu)造方法方法名、參數(shù)、返回值類型相同的方法,再進行重寫就行了吧
class tudou_ extends tu{ public tudou_(){ ?System.out.println("tudou執(zhí)行了"); } void tu(int i){ ?this.i = 2; }
}
class tu{ int i; tu(){ } tu(int i){ ?this.i = i; }}
怒放的生命012
子類不能繼承父類的構(gòu)造方法,也不能覆蓋父類的構(gòu)造方法。,子類如果想使用父類的構(gòu)造方法,必須在子類的構(gòu)造方法中使用關(guān)鍵字super來表示,并且super必須是子類構(gòu)造方法中的頭一條語句,子類在實例化對象時,如果子類的構(gòu)造器沒有顯示的調(diào)用超類的方法,則將自動調(diào)用父類默認構(gòu)造器。如果父類沒有不帶參數(shù)的構(gòu)造器,且子類的構(gòu)造器中又沒顯示的調(diào)用超類其他構(gòu)造器,則Java編譯器將報告錯誤。所以子類使用父類的構(gòu)造方法是通過super關(guān)鍵字實現(xiàn)的
舉報
課程升級!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會Java面向?qū)ο缶幊痰膴W妙
1 回答子類和父類的有參構(gòu)造方法
6 回答當父類定義了有參的構(gòu)造方法,子類怎么定義構(gòu)造方法怎么用super關(guān)鍵字
4 回答定義一個有參的父類構(gòu)造方法,同時子類的構(gòu)造方法中寫了super()了,這樣情況也報錯。
4 回答如果父類中沒有寫構(gòu)造方法,而子類中有構(gòu)造方法
2 回答請問如果父類只有有參的構(gòu)造方法,那么子類的構(gòu)造方法中就隱性調(diào)用了父類的構(gòu)造方法。
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2015-10-24
不可以, ?構(gòu)造方法是不可以重寫的 ? ?如下,構(gòu)造方法名和類名是相同的,子類和父類類名不同,構(gòu)造方法自然不能相同,所以也談不上重寫
2015-11-10
因該是可以的吧,構(gòu)造方法也是方法啊,只要在子類中創(chuàng)建與父類的構(gòu)造方法方法名、參數(shù)、返回值類型相同的方法,再進行重寫就行了吧
class tudou_ extends tu{
public tudou_(){
?System.out.println("tudou執(zhí)行了");
}
void tu(int i){
?this.i = 2;
}
}
class tu{
int i;
tu(){
}
tu(int i){
?this.i = i;
}
}
2015-10-24
子類不能繼承父類的構(gòu)造方法,也不能覆蓋父類的構(gòu)造方法。,子類如果想使用父類的構(gòu)造方法,必須在子類的構(gòu)造方法中使用關(guān)鍵字super來表示,并且super必須是子類構(gòu)造方法中的頭一條語句,子類在實例化對象時,如果子類的構(gòu)造器沒有顯示的調(diào)用超類的方法,則將自動調(diào)用父類默認構(gòu)造器。如果父類沒有不帶參數(shù)的構(gòu)造器,且子類的構(gòu)造器中又沒顯示的調(diào)用超類其他構(gòu)造器,則Java編譯器將報告錯誤。所以子類使用父類的構(gòu)造方法是通過super關(guān)鍵字實現(xiàn)的