Java Eclipse @Override ошибка - PullRequest
       8

Java Eclipse @Override ошибка

13 голосов
/ 22 ноября 2011

Я пишу Java-класс, который реализует интерфейс под названием Command, который содержит методы isValid() и run() следующим образом:

public class DailyEnergy implements Command {

  @Override
  public boolean isValid(String command) {
    return false;
  }

  @Override
  public void run(String command) throws Exception {
  }
}

и вот файл Command.java:

public interface Command {

  public boolean isValid(String command);
  public void run(String command) throws Exception;
}

В этом классе я реализую методы суперкласса isValid() и run(), и я хочу добавить аннотацию @Override, но Eclipse выдает ошибку о том, что «методы должны переопределитьметоды суперкласса ".

Даже когда я убираю методы и автоматически импортирую их с помощью Eclipse, если я добавляю аннотацию, я получаю сообщение об ошибке.Если кто-нибудь сможет пролить свет на то, почему я не могу использовать аннотацию @Override, это было бы очень полезно.

Ответы [ 2 ]

46 голосов
/ 22 ноября 2011

Аннотация @Override в реализациях интерфейса поддерживается начиная с Java-6.Вы возможно на Java-5?Oracle признал ошибку в Java 6 документах .Это было исправлено в Java-7 .Смотрите пример ниже:

Check compiler setting

2 голосов
/ 22 ноября 2011

Вы используете JDK5?Я имею в виду, что это ошибка в JDK5.@ override не допускается при реализации интерфейса в JDK5

...