爲什麼一個子類,不能夠只使用自己的默認構造函數?當Bike擴展Vehicle類時,爲什麼Bike使用Vehicle的構造函數來創建自行車對象?子類是否總是使用超類的默認構造函數?
那自行車對象具有不父類存在,則採用了超一流的減少編寫額外的重複代碼來初始化一些額外的成員時,似乎還好用父母的類的構造函數。它看起來沒問題(可能是我完全錯了)。
public class Vehicle {
Vehicle()
{
System.out.println("Vehicle is created");
}
}
public class Bike extends Vehicle {
public static void main(String[] args){
Bike HondaBike = new Bike();
}
}
Output: Vehicle is created
您可以檢查,https://stackoverflow.com/questions/2967662/any-way-to-not-call-superclass-constructor-in-java。順便說一句:沒有辦法不調用父類的構造函數。子類應該包含父類的構造函數,並且如果需要的話,可以用其構造函數進行擴展。 – Oguz
這就是java的工作方式。 – Heri