The methods declared in an interface are public and abstract by default. Any variables are automatically public static final. Finally, class and interface are automatically public static. There is no need to explicitly declare them so.

Since annotations are implicitly interfaces, the same holds true for them as well.

Similarly, the final modifier is redundant on any method of a final class, private is redundant on the constructor of an Enum, and static is redundant for interface nested into a class or enum.

Noncompliant Code Example

public interface Vehicle {

  public void go(int speed, Direction direction);  // Noncompliant

Compliant Solution

public interface Vehicle {

  void go(int speed, Direction direction);