Palavra-chave implements em Java

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 abstrato som(), que precisa ser implementado por qualquer classe que utilize a interface.
  • Classe Cachorro: Implementa a interface Animal e fornece uma implementação para o método som().
  • Uso do implements: A palavra-chave indica que a classe Cachorro está implementando a interface Animal.

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.