Público na Interface

Já encontrei várias vezes esta situação: interfaces que definem explicitamente as suas propriedades e métodos como public.

Como explica [1] o conceito de interface implica que

All methods declared in an interface are implicitly public, so the public modifier can be omitted.

An interface can contain constant declarations in addition to method declarations. All constant values defined in an interface are implicitly public, static, and final. Once again, these modifiers can be omitted.

Assim, os seguintes interfaces são equivalentes

public interface Interface1 {
	public static final int someIntConstant = 2;
	public void  somePublicMethod(int a);
}

public interface Interface2 {
	int someIntConstant = 2;
	void somePublicMethod(int a);
}

Actualização: a minha ConclusãoMesmerize Him: Best Epc / Conversion For Women

n>
Sou a favor do mínimo trabalho para obter o melhor código, logo farei por não utilizar os public, static ou final numa interface.

Será que o código fica mais legível com modifiers redundantes que estão a “encher”, ou com nenhuns modifiers?
Uma interface permite exactamente isso ao criador e ao leitor: não pensar em modifiers, apenas no resto. Logo penso que a legibilidade aumenta sem a utilização de modifiers redundantes.

E de notar que um (bom) IDE fará automaticamente os métodos public quando lhe dissermos que a classe implementa uma interface.

Leituras

zp8497586rq