Eclipse, игнорирующий неправильные @Override аннотации

Лучший способ состоял бы в том, чтобы найти способы собрать в группу аргументы. Это принимает, и действительно только работает, если, Вы закончили бы с несколькими "группировками" аргументов.

, Например, при передаче спецификации для прямоугольника можно передать x, y, ширину и высоту, или Вы могли просто передать прямоугольный объект, который содержит x, y, ширину и высоту.

Ищут вещи как это при рефакторинге для чистки его несколько. Если аргументы действительно не могут быть объединены, начните смотреть на то, есть ли у Вас нарушение Единственного Принципа Ответственности.

7
задан Joachim Sauer 14 September 2009 в 14:12
поделиться

3 ответа

Определение @Override немного изменилось в Java 6 ( и, к сожалению, без надлежащей документации ), в котором аннотация @Override для метода, реализующего интерфейс метод действителен. В Java 5 это считалось ошибкой.

12
ответ дан 6 December 2019 в 19:39
поделиться

Аннотация @override была введена в JDK> 1.5.

Будете ли вы использовать на этой машине старую версию JDK случайно?

-1
ответ дан 6 December 2019 в 19:39
поделиться

Моя теория заключается в том, что ваш Eclipse настроен для соответствия JDK 1.6, но ваша сборка Ant (или что-то еще) компилируется с помощью компилятора JDK 1.5.

В @Override внесены изменения. аннотация между JDK 1.5. и 1.6. В версии 1.5 его можно было использовать только тогда, когда конкретный метод фактически переопределяет конкретный метод в суперклассе. В JDK 1.6 его также можно использовать, когда аннотированный метод реализует абстрактный метод, определенный в интерфейсе или суперклассе.

Чтобы установить уровень соответствия Eclipse, откройте Windows> Preferences, выберите панель Java> Compiler и измените для параметра «Соответствие компилятора Java» значение 1,5. Затем используйте «Применить» или «ОК», чтобы применить изменение предпочтений.

(AFAIK, нет никакого способа заставить Eclipse выдавать предупреждения в стиле 1.5 в режиме соответствия 1.6.)

2
ответ дан 6 December 2019 в 19:39
поделиться