A palavra-chave implements em Java é usada por uma classe para declarar que ela está implementando uma ou mais interfaces. Quando uma classe implementa uma interface, ela deve fornecer implementações para todos os métodos abstratos definidos nessa interface.
Sintaxe de implements
class NomeDaClasse implements Interface1, Interface2 {
// Implementação dos métodos definidos nas interfaces
}
Exemplo de implements
interface Animal {
void som();
}
class Cachorro implements Animal {
public void som() {
System.out.println("O cachorro faz: Au Au");
}
}
public class Main {
public static void main(String[] args) {
Cachorro meuCachorro = new Cachorro();
meuCachorro.som();
}
}
Saída:
O cachorro faz: Au Au
Explicação:
- Interface
Animal
: Define o método abstratosom()
, que precisa ser implementado por qualquer classe que utilize a interface. - Classe
Cachorro
: Implementa a interfaceAnimal
e fornece uma implementação para o métodosom()
. - Uso do
implements
: A palavra-chave indica que a classeCachorro
está implementando a interfaceAnimal
.
Implementando Múltiplas Interfaces
Uma classe pode implementar várias interfaces ao mesmo tempo, desde que forneça implementações para todos os métodos das interfaces.
interface Animal {
void som();
}
interface Movimentacao {
void mover();
}
class Gato implements Animal, Movimentacao {
public void som() {
System.out.println("O gato faz: Miau");
}
public void mover() {
System.out.println("O gato está se movendo.");
}
}
public class Main {
public static void main(String[] args) {
Gato meuGato = new Gato();
meuGato.som();
meuGato.mover();
}
}
Saída:
O gato faz: Miau
O gato está se movendo.
Resumo:
- A palavra-chave
implements
é usada para uma classe implementar interfaces. - Uma classe que implementa uma interface deve fornecer implementações para todos os métodos abstratos da interface.
- Uma classe pode implementar várias interfaces ao mesmo tempo, separando-as por vírgula.
Isso permite que Java suporte a “herança múltipla” de comportamentos, já que uma classe pode herdar a funcionalidade de várias interfaces.