Pessoal, pode parecer bobagem minha, mas…pergunto:
Se uma Interface é tipo um molde / contrato para demais classes q a implemetam, por que existem o método abstrato:
[color=“blue”]public abstract void run();[/color]
na interface Runnable ? sabendo q todo metodo em uma interface é:
public + final + static ?
Clareza de código :!:
É parecido com usar a palavra-chave this onde não precisa:
public String getNome() {
return this.nome;
}
[]'s
cv1
Expandindo um pouco: todo método numa interface é publico e abstrato (que é o contrário de final)
vamorim
O que é clareza? Ausência de código desnecessário ou presença explícita de código default?
Bom, pense num principiante. Quanto menos informação ele precisa para entender o código, mais claro ele o é. É por isso que defendo a forma explícita.
dukejeffrie
Isso é coisa de quem usa Eclipse.
colocar abstract num médoto de interface é a maior redundância que eu já vi.
Eu nem sabia que todos os métodos eram public!!! É verdade mesmo isso?? E se a interface não for pública??
E uma pentelhice (eu reconheço): variável de instância não pode ser static.
[]s!!
O
ozorro
dukejeffrie e verdade sim, em uma Interface e designada da seguinte forma:
int intCodFunc = 1;
quando vc for implementar na sua classe ela sera vista como