Em Java, interfaces são tipos válidos, assim como as classes, mas contêm apenas constantes, assinaturas de métodos e classes aninhadas. Não podem ser instanciadas, mas podem ser implementadas e estendidas.
API = Application Program Interface
Interfaces têm o papel de fornecer a única forma (restrita) de herança múltipla em Java. Uma classe pode herdar de uma só outra classe, mas pode implementar múltiplas interfaces.
Definição de uma interface:
public interface GroupedInterface
extends Interface1, Interface2, Interface3 { // constant declarations // base of natural logarithms double E = 2.718282; // method signatures void doSomething (int i, double x); int doSomethingElse(String s); }
Observe que uma interface pode estender várias outras. Todos os campos são implicitamente públicos, estáticos e finais. Ou seja, constantes.
Implementação de uma interface: uso da palavra reservada implements. Ver exemplo de Relatable e uma implementação. Observar casting.
Interfaces são tipos como outros quaisquer em Java. Podem ser usadas em parâmetros, por exemplo. Apenas objetos de classes que implementem a interface podem ser usados como variáveis do tipo dela.
Estender uma interface pode ser uma boa alternativa a modificá-la, o que seria muito impactante negativamente.
Exemplo na hierarquia Java: a interface List é implementada por ArrayList e por LinkedList.
Nenhum comentário:
Postar um comentário