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);