A. java中子類如何繼承父類的含參數的構造方法
子類的構造函數中 用super(參數類型 參數);
同時子類的構造函數本身的參數列表要和父類的匹配
B. java父類的構造器私有了,怎麼繼承
一,不能被繼承,除非還有其它構造方法:
1,設置一個類不能被繼承,兩種方法:一是final,二就是構造方法私有;
2,jave類設計的任何方法只要設置為private之後,就無法繼承了,除非改掉構造方法的private的聲明,既然聲明private就不允許本類之外的任何類使用。
二,java中類的定義:
1,final類:又稱「最終類」,它只能用來創建對象,而不能被繼承,與抽象類剛好相反,而且抽象類與最終類不能同時修飾同一個類;
2,Private ,編程語句在模塊級別中使用,用於聲明私有變數及分配存儲空間;
3,語法Private [WithEvents] varname[([subscripts])] [As [New] type] [,[WithEvents] varname[([subscripts])] [As [New] type]] 。
C. java進行構造方法的時候,為什麼一定要有一個無參構造方法
1.子類繼承父類的時候會自動繼承父類的默認構造函數(也就是繼承那個無參數的構造函數)。
2.無參構造函數是所有構成函數的父類,如果沒有寫那個默認的不帶參數的構造函數的話,繼承的時候子類就會報錯,因為系統不知道要不繼承哪個構造函數,必須明確的使用super()關鍵字來描述。所以一般為了避免這種錯誤的發生,在有帶有多個構造函數的類裡面都會寫一個不帶參數的構造函數。
出自育知同創教育,望採納
D. java關於子類和父類構造方法的關系,犯迷糊!!
子類不能繼承父類的顯式定義的構造方法,若想要繼承父類的構造方法,需要通過覆蓋該構造方法,並在方法中通過super調用父類的該構造方法的方式來繼承。
三種情況說明:
1、父類中沒有顯式定義任何構造方法,此時父類中實際有一個默認的無參數構造方法。這時,在子類中顯式定義任何構造方法時,可以不用使用super調用父類的默認方法。
2、父類中顯式定義了默認的無參數構造方法,那麼子類可以定義任意的構造方法,而不必使用super調用父類的構造方法
3、父類中顯示定義了構造方法,卻沒有顯示定義默認的無參數構造方法,那麼子類定義任何構造方法中都需要通過super調用父類的構造方法
相關代碼比較
1.
publicclassFather{
publicvoidotherMethod(){
}
}
publicclassChildextendsFather{
//任意構造方法
publicChild(intb){
System.out.println(b);
}
publicvoidotherChildMethod(){
}
}
2.
publicclassFather{
publicFather(){
}
publicFather(Stringq){
System.out.println(q);
}
publicvoidotherFatherMethod(){
}
}
publicclassChildextendsFather{
//任意構造方法
publicChild(intb){
System.out.println(b);
}
publicFather(Stringq){
System.out.println(q);
}
publicChild(Stringt,intb){
....
}
publicvoidotherChildMethod(){
}
}
3.
publicclassFather{
publicFather(Stringq){
System.out.println(q);
}
publicvoidotherFatherMethod(){
}
}
publicclassChildextendsFather{
publicChild(Stringb){
super(b);
System.out.println(b);
}
//任意構造方法
publicChild(Stringt,intb){
super(t);
System.out.println(b);
}
publicChild(Stringt,intb){
....
}
publicvoidotherChildMethod(){
}
}