Ответ 1
Нет веской причины, но не "ошибка", как таковая; просто недостаток. Вероятно, рефакторинг просто старше @Override
- старше, чем аннотации в целом, конечно, и никогда не обновлялся.
В Eclipse, если я попытаюсь применить рефакторинг "Generate Delegate Methods" к классу Java, например следующее:
class Foo implements Bar {
Bar bar;
}
Eclipse не генерирует аннотации @Override
для сгенерированных методов. Является ли это ошибкой или есть веская причина для этого?
Нет веской причины, но не "ошибка", как таковая; просто недостаток. Вероятно, рефакторинг просто старше @Override
- старше, чем аннотации в целом, конечно, и никогда не обновлялся.
Это не отвечает на ваш вопрос, почему он не добавляет аннотацию @Override
при создании методов делегата, но вы можете добавить действие сохранения, чтобы сделать это для вас при сохранении файла. Перейдите в
Window -> Preferences -> Java -> Editor -> Save Actions
Обратите внимание на записи для @Override
в разделе Additional actions
. Если вам не хватает, нажмите кнопку Configure...
и выберите вкладку Missing Code
и выберите следующие параметры:
Если вы хотите добавить аннотации к целому проекту или пакету в объем, выберите проект или пакет (или кратность), щелкните правой кнопкой мыши и выберите "Источник" > "Очистить"...
В диалоговом окне "Очистка" вы можете настроить настраиваемый профиль, который включает добавление отсутствующих аннотаций.
Иногда настройки в Window → Preferences → Java → Editor → Save Actions вызывают нежелательные эффекты, особенно в файлах XML при разработке приложений для Android (были там, это было так). Лучшим решением IMHO является использование +1 или щелчок правой кнопкой мыши по пакету (или классу и т.д.), А затем выберите "Источник" → "Очистить", чтобы добавить все ваши отсутствующие аннотации @Override.