Como criar e usar interfaces em Java
Uma interface define um contrato: um conjunto de métodos que qualquer classe que a implemente precisa fornecer. Diferente de uma classe abstrata, uma interface não guarda estado e, tradicionalmente, não implementa nenhum método.
Carregando...
Uma classe usa a palavra implements para se comprometer com o contrato da interface.
Carregando...
Diferente da herança, em que uma classe só pode estender uma única superclasse, uma classe pode implementar quantas interfaces forem necessárias.
Carregando...
Use interface quando classes não relacionadas entre si precisam compartilhar um comportamento, como voar ou nadar, sem terem uma relação direta de "é um tipo de". Use classe abstrata quando as subclasses já compartilham uma base comum e uma relação de herança real, como Cachorro e Gato sendo tipos de Animal.
A partir do Java 8, interfaces também podem ter métodos com implementação padrão, usando a palavra default.
Carregando...
Classes que implementam Voador ganham pousar() automaticamente, mas ainda podem sobrescrevê-lo se quiserem um comportamento diferente.