13. Interfaces
Além das classes e dos enumerados, a linguagem Java permite a definição de novos tipos de dados, não primitivos, através de interfaces.
Um interface
- declara um conjunto de métodos públicos (e não só, como veremos adiante) que definem, de forma coerente, um tipo de dados abstrato;
- este tipo de dados abstrato pode depois ser total ou parcialmente implementado por várias classes;
- define comportamentos que podem ser implementados por classes que não têm qualquer outra relação entre elas;
- pode caracterizar uma "capacidade" – serve para que as classes que o implementam anunciem que sabem fazer algo (exemplos:
Cloneable
, Comparator
, Iterable
)
Anterior: 12. Tipos enumerados
Seguinte: 13.1. Definição e implementação