Zona J

Zona J header image 2

Público na Interface

8 de Março de 2007 às 13:01 por Bruno Braz Gonçalves · Sem Comentários ·

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ão
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

Tags: java

0 respostas até ao momento ↓

  • Ainda não existe comentários. Pode ser o primeiro preenchendo o formulário em baixo.

Deixe um comentário

XHTML: Pode usar estas tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>