Я делаю суперкласс Продовольствие с двумя подклассами: Ужин и завтрак. Ужин и завтрак каждый будет иметь два своих подкласса, ужин будет иметь морепродукты и курятину, а завтрак будет иметь зерновые и омлеты. Сейчас я только программировал «Еда и ужин», но когда я пытаюсь программировать в основном, он говорит, что мои конструкторы не определены.Неопределенные конструкторы в иерархии
Вот мой Food суперкласса:
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);
}
}
Чтобы сохранить этот вопрос открытым, я «Я просто ищу более концептуальный ответ, чтобы он мог быть применим к другим людям. Как создать конструктор для супер/подкласса и как его использовать в основном? Спасибо всем.
P.S .: Я знаю, что я мог бы просто удалить конструктор «Общественная еда» и написать «Продовольствие x = новая еда»; в основном, но мой учитель comp sci требует, чтобы у вас был конструктор в каждом классе: супер или под.
EDIT: Мой главный метод в настоящее время:
public class Main {
public static void main(String[] args){
Food x = new Food();
}
}
, к которому я получаю "Конструктор Food() не определено". Я знаю, что я, вероятно, что-то пропустил/сделал это неправильно, поэтому я просто ищу руководство для того, как выполнить эту задачу.
Что такое точное сообщение об ошибке, что вы получите? – Nic
У вас будет больше контекста, потому что я копирую и вставляю ваши классы, и у меня нет проблем с кодированием в моем основном методе –
почтовый код от метода 'main' здесь – Yousaf