Примечание @Override
строго не требуется при реализации интерфейса, главным образом потому, что вы не переопределяете реализацию суперкласса, вы фактически реализуете объявленные методы интерфейсов. Так что, возможно, требуется аннотация @Implements
, но это совершенно другая тема для разговора.
Однако настоятельно рекомендуется использовать аннотацию @Override
для этих методов, поскольку:
- Явно передает всем, кто читает код, что это переопределяющий метод.
- Это помогает избежать стрельбы себе в ногу, выдавая ошибку времени компиляции, если вы неправильно написали метод, который хотите переопределить, потому что он сообщит вам, может ли метод на самом деле переопределить существующий супер метод.
Большинство IDE фактически помогут вам добавить это автоматически:
Интеллект Идея:
Перейдите к
Файл => Настройки => Редактор => Стиль кода => Java
И выделите Override Method Signature
, и вы должны найти Insert @Override annotation
, убедитесь, что это проверено.
В документации Jetbrains говорится об этой опции ниже:
Вставить аннотацию @Override: установите этот флажок, чтобы IntelliJ IDEA автоматически вставлял аннотации @Override.
![Itellij setting for missing override annotation](https://i.stack.imgur.com/AvULA.png)
Затмение:
Перейдите к:
Window => Настройки => Java => Стиль кода
И найдите Add @Override annotation for new overriding methods
и убедитесь, что он был проверен.
![Eclipse setting for add override annotation for new overriding methods](https://i.stack.imgur.com/Zm0p2.png)
Вы также можете добавить его как Save Action
, перейдя по адресу:
Window => Настройки => Java => Редактор => Сохранить действия
И обеспечение выбора Perform the selected actions on save
и выбора Additional actions
и обеспечение настройки Add missing Annotations
![Eclipse setting for missing override annotation](https://i.stack.imgur.com/mro2w.png)