У меня есть абстрактный класс с абстрактным методом «Action»Невозможно использовать абстрактный метод
public abstract class BaseAnt {
public BaseAnt(String name, int food, int water) {
/.../
}
public abstract void action();
}
Класс работник расширяет его:
public class WorkerAnt extends BaseAnt {
public WorkerAnt() {
/.../
}
public void action() {
AppStat.FOOD += mAge*0.1 + 10;
}
}
И я пытаюсь сделать петлю
public ArrayList<BaseAnt> antsArray;
for (int i = 0; i < AppStat.antList.size(); i++) {
if (AppStat.antList.get(i).getName() == "Worker") {
AppStat.antList.get(i).action();
}
}
Но я не могу назвать метод действием! Как это исправить?
Ошибка:
The method action() is undefined for the type BaseAnt
Что? Сравнение ?? – Sunstrike
Что значит «Я не могу позвонить»? Вы получаете ошибку компиляции? Вы получаете исключение при запуске? Является ли метод просто не вызванным? – isnot2bad
«Метод action() не определен для типа BaseAnt« – Sunstrike