Inspectopedia
 
2024.3

Missing '@Override' annotation

Info
New
Last modified: 03 December 2024

Reports methods overriding superclass methods but are not annotated with @java.lang.Override.

Annotating methods with @java.lang.Override improves code readability since it shows the intent. In addition, the compiler emits an error when a signature of the overridden method doesn't match the superclass method.

Example:

After the quick-fix is applied:

Configure the inspection:

  • Use the Ignore 'equals()', 'hashCode()' and 'toString()' option to ignore these java.lang.Object methods: equals(), hashCode(), and toString(). The risk that these methods will disappear and your code won't be compiling anymore due to the @Override annotation is relatively small.

  • Use the Ignore methods in anonymous classes option to ignore methods in anonymous classes.

  • Disable the Highlight method when its overriding methods do not all have the '@Override' annotation option to only warn on the methods missing an @Override annotation, and not on overridden methods where one or more descendants are missing an @Override annotation.

This inspection depends on the Java feature 'Annotations', which is available since Java 5.