我正在製作超類食物有兩個子類:Dinner and Breakfast。晚餐和早餐將分別擁有兩個自己的小類,晚餐包括海鮮和雞胸肉,而早餐包括麥片和煎蛋。現在我只編程食物和晚餐,但當我嘗試在主要編程時,它說我的構造函數是未定義的。層次結構中未定義的構造函數
這裏是我的菜超:
public class Food {
private double price;
private int calories;
private boolean vegan;
public Food(double price, int calories, boolean vegan){
this.price = price;
this.calories = calories;
this.vegan = vegan;
}
public double getPrice(){
return price;
}
public int getCalories(){
return calories;
}
public boolean getVegan(){
return vegan;
}
}
,這裏是我的晚餐子類:
public class Dinner extends Food{
public Dinner(double price, int calories, boolean vegan){
super (price, calories, vegan);
}
}
爲了保持這個問題開放式的,我我只是在尋找一個更概念化的答案,所以它可以適用於其他人的問題。如何爲super/subclass創建構造函數,以及如何在main中使用它?謝謝大家。
P.S .:我知道我可以刪除「公共食品」的構造函數並編寫「Food x = new Food」;在主要但我的計算機科學教師要求您在每個類中都有一個構造函數:super或sub。
編輯:我的主要方法是目前:
public class Main {
public static void main(String[] args){
Food x = new Food();
}
}
,而我得到 「構造食物()是不確定的」。我知道我可能錯過了一些東西/做錯了,所以我只是在尋找如何真正完成這項任務的指導。
什麼是你得到確切的錯誤消息,您需要將這些爭論? – Nic
你會提供更多的上下文,因爲我複製和粘貼你的課程,並沒有麻煩在我的主要方法編碼 –
郵政編碼從這裏'main'方法 – Yousaf