Нужно ли удалять аннотацию @Override? - PullRequest
3 голосов
/ 14 марта 2012

Следующий код дает ошибку около public void control() {.

EClipse дает совет, чтобы также удалить аннотацию @Override. Я перебрал docs.oracle и обнаружил, что Если метод, помеченный @Override , не может корректно переопределить метод в одном из его суперклассов, компилятор генерирует ошибку.

Я не понимаю, что означает "неправильно корректировать"?

public class PersistenceFlowController implements controllers.FlowController {
   @Override
   public void control() {
      // Do some works here
   }
}


package controllers;
public interface FlowController {   
   void control();  
}

1 Ответ

18 голосов
/ 14 марта 2012

В JDK 1.5 @Override может применяться только к методам из родительского класса.В JDK 1.6 и выше его также можно использовать для методов интерфейса.Я предполагаю, что у вас есть Eclipse для соответствия компилятору JDK 1.5.Вы можете проверить или изменить это на вкладке «Java Compiler» диалогового окна свойств проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...