SonarLint: Java - "@Override" should be used on overriding and implementing methods (squid:S1161)

SonarLint: Java - "@Override" should be used on overriding and implementing methods (squid:S1161)

Using the @Override annotation is useful for two reasons : • It elicits a warning from the compiler if the annotated method doesn't actually override anything, as in the case of a misspelling. • It improves the readability of the source code by making it obvious that methods are overridden.

Noncompliant Code Example

class ParentClass {
  public boolean doSomething(){...}
}
class FirstChildClass extends ParentClass {
  public boolean doSomething(){...}  // Noncompliant
}

Compliant Solution

class ParentClass {
  public boolean doSomething(){...}
}
class FirstChildClass extends ParentClass {
  @Override
  public boolean doSomething(){...}  // Compliant
}