Между Java 5 и Java 6 правила относительно аннотаций @Override
для методов, возникающих в интерфейсах (в отличие от суперклассов), были изменены - прежде чем они не были разрешены, но после того, как они были. Однако они не требуются javac.
Некоторые IDE, например eclipse, могут генерировать ошибки или предупреждения для таких отсутствующих переопределений. Я ищу какой-либо инструмент статического анализа, который может обнаруживать недостающие переопределения, поэтому я могу сообщать/блокировать их программно.
Это не похоже на то, что я знаю, как findbugs, и многие могут это сделать - возможно, потому, что @Override
имеет только уровень хранения источника, инструменты работают, а инструменты уровня источника, такие как checkstyle, не понимают полную иерархию классов.