Можете ли вы переопределить метод в Java
без использования аннотаций?
Да, аннотация @Override
не требуется для переопределения метода.
Для того чтобы переопределить метод, достаточно иметь определение метода с той же сигнатурой метода, что и у класса-предка.
Аннотация @Override
- это просто напоминание компилятору о том, что определение метода предназначено для переопределения метода.
Если метод с @Override
на самом деле не переопределяет метод, компилятор выдаст ошибку компилятора - аннотация служит дополнительной проверкой времени компиляции, чтобы увидеть, действительно ли определение метода переопределяет метод.
Потому что затмение не поддерживает его, если
вы используете JRE6, вам нужно переключиться обратно
до 5, чтобы использовать аннотацию @Override.
Я использую Eclipse для Java 6 и могу использовать аннотацию @Override
, поэтому я не совсем уверен, что может быть причиной этого. Аннотации поддерживаются в Java 5 и более плотно интегрированы в язык начиная с Java 6.
Редактировать
Из комментария Andreas_D к вопросу:
smile - это просто указывает на то, что
текущий уровень источника для вашего проекта
<1,5. Этот параметр довольно
независимо от JRE, вы на самом деле
можно использовать JRE 1.6 вместе с источником
уровень 1.4 - и я думаю, вот что
произошло. </p>
Похоже, что это одна из причин возникновения ошибки компиляции!
Способ проверки того, установлен ли «уровень соответствия компилятора» для чего-либо в Java 5,
- Перейдите к Свойствам проекта Java в Eclipse
- Затем перейдите в меню Java Compiler
- Убедитесь, что для уровня соответствия компилятора установлено значение 1,5 или выше.
Редактировать
Что касается скриншота Gandalf StormCrow, кажется, что уровень соответствия компилятора установлен ниже, чем JDK 1.5. Нажав на Изменить соответствие проекта и JRE на 1.5 , быстрое исправление должно исправить текущую ситуацию.
Проблема в том, что аннотации были введены в Java 5.
Похоже, что Java-проект в Eclipse в настоящее время настроен так, что исходный код может содержать только те функции, которые были представлены до Java 5, поэтому запрещено использование аннотаций.
Способ исправить ситуацию - указать Eclipse, что можно использовать функции Java 5, установив для уровень соответствия компилятора значение 1.5 или выше.