У меня проблемы с переопределением метода, унаследованного от родительского класса в Java. Экстракт из моего родительского класса:Java не может переопределить метод, используемый в конструкторе: метод setupAnimationFrames() типа Slime должен переопределить или реализовать метод супертипа
public Character(String spriteLabel, float frameTime, float speed, float x, float y) {
// Setup font and nameplate
this.setupAnimationFrames();
....
this.currentFrame = downFrames[0];
}
private void setupAnimationFrames() {
...
}
В моем классе ребенка, я стараюсь:
public class Slime extends Character {
@Override
private void setupAnimationFrames() {
...
}
public Slime() {
super("...", 0.15f, 2,727,300);
}
}
Однако, Eclipse говорит мне:
The method setupAnimationFrames() of type Slime must override or implement a supertype method
Я и свойства проекта/рабочей области установлены на использование Java 1.6, что, по-видимому, является общей причиной этой ошибки.
Почему Java не может переопределить метод?
Потому что private, и вы не можете переопределить частный метод. Вы можете * реализовать * его, но вы не можете * переопределить его. –