Em Java, as classes não podem herdar de mais de uma classe ao mesmo tempo (herança múltipla não existe).

Mas interfaces resolvem completamente essa limitação, permitindo que uma classe implemente vários comportamentos ao mesmo tempo.


📘 O que é uma Interface?

Ícone Conceito Explicação
📜 Contrato Define o que a classe deve fazer (métodos obrigatórios).
🧩 Separação de Papéis Descreve a função, mas não a implementação.
🔄 Polimorfismo Objetos diferentes podem ser usados de forma uniforme.
🔀 Herança Múltipla de Comportamento Uma classe pode implementar quantas interfaces quiser.

🌱 Por que isso é útil?

💡 Pense na interface como uma lista de habilidades mínimas que um ninja deve dominar — cada um executa à sua maneira.

(referência leve e elegante)


🧪 Exemplo: Interface Ninja

interface Ninja {
    void atacar();
    void defender();
    void usarJutsu();
}


🎭 Duas classes diferentes implementando o mesmo contrato

class Naruto implements Ninja {
    @Override
    public void atacar() {
        System.out.println("Naruto ataca com kunai.");
    }

    @Override
    public void defender() {
        System.out.println("Naruto cria uma defesa rápida.");
    }

    @Override
    public void usarJutsu() {
        System.out.println("Naruto realiza um jutsu de alto impacto.");
    }
}

class Sasuke implements Ninja {
    @Override
    public void atacar() {
        System.out.println("Sasuke ataca com precisão.");
    }

    @Override
    public void defender() {
        System.out.println("Sasuke esquiva com agilidade.");
    }

    @Override
    public void usarJutsu() {
        System.out.println("Sasuke libera uma técnica poderosa.");
    }
}