Se uma classe implementar uma interface, mas o programador não escreveu a implementação de todos os métodos da interface será gerado um erro de compilação, a menos que a classe seja abstrata (assunto que veremos a seguir).
A partir da versão Java 8 é possível incluir nas interfaces um método concreto, ou seja, com a implementação padrão do método. Essa característica é muito útil e evita a implementação desnecessária. Para definir um método padrão usamos a palavra default antes do nome do método.
|
Alertamos apenas para o fato que as versões antigas de java não são compatíveis com a declaração default o que pode gerar erros e incompatibilidades. |
Sugerimos que sempre que possível sejam usadas interfaces em lugar de herança, pois tornamos o código mais flexível.
Um exemplo interessante disso é o método Collections.sort(). Esse método permite ordenar qualquer lista de objetos desde que implementem a interface Comparable.