Remove Modifiers in Interface Properties

Properties

Property Value
First seen in jSparrow version 3.3.0
Minimum Java version 1.1
Remediation cost 1 min
Links S2333

Description

By default, the attributes declared in Java interfaces are public. This rule, removes the public modifiers from method declarations and public static final modifiers from field declarations in interfaces.

Note, from Java 9 it is possible to have private methods in interfaces, too.

Benefits

Removes the clutter and unifies the attributes of Java interfaces.

Requirement & Tags

Requirements

Java 1.1

Code Changes

Pre

public interface InterfaceWithProperties {
	
	public String FIELD_WITH_PUBLIC_MODIFIER = "";
	
	public static String FIELD_WITH_PUBLIC_STATIC_MODIFIER = "";
	
	public static final String FIELD_WITH_PUBLIC_STATIC_FINAL_MODIFIER = "";
	
	void method();
	
	public void publicMethod();
	
	public static void publicStaticMethod() {
		
	}
	
	public default void publicDefaultMethod() {
		
	}
}

Post

public interface InterfaceWithProperties {
	
	String FIELD_WITH_PUBLIC_MODIFIER = "";
	
	String FIELD_WITH_PUBLIC_STATIC_MODIFIER = "";
	
	String FIELD_WITH_PUBLIC_STATIC_FINAL_MODIFIER = "";
	
	void method();
	
	void publicMethod();
	
	static void publicStaticMethod() {
		
	}
	
	default void publicDefaultMethod() {
		
	}
}

Automatic Application of This Rule

The automatic application of this rule is supported in the following jSparrow version: