子類名稱提示錯誤,不知道為什么,求大神幫看看
主程序
package app;
public class App {
public static void main(String[] args) throws Exception {
Auto audi = new Auto(1,"Audi A4",500,4,0);
}
}
父類
package app;
public class Auto {
int num;
String name;
int price;
int passengers;
int carry;
public ?Auto(int newnum,String newname,int newprice,int newpassengers,int newcarry) {
num = newnum;
name = newname;
price = newprice;
passengers = newpassengers;
carry = newcarry;
System.out.println(num+". ?"+name+" ?"+price+" yuan/perday ? passenge:"+passengers);
}
}
子類
package app;
public class AudiA4 extends Auto{
}
子類名稱提示錯誤:
Implicit super constructor Auto() is undefined for default constructor. Must define an explicit constructor
這是為什么?
2019-08-15
類已經(jīng)定義了一個有參的構(gòu)造函數(shù)并且父類中沒有默認(rèn)的無參構(gòu)造方法,此時編譯器不會為你調(diào)用默認(rèn)的構(gòu)造函數(shù)?
當(dāng)子類繼承時,必須在自己的構(gòu)造函數(shù)顯式調(diào)用父類的構(gòu)造函數(shù),自己才能確保子類在初始化前父類會被實例化?