https://youtu.be/ALTfNQdVeQk

Criando uma interface

public interface Cantor {
}

Para criar uma interface, utilize a palavra chave interface.

Para adicionar métodos abstratos, basta colocar sua assinatura.

public interface Cantor {

    String cantar();

}

Diferentemente da classe abstrata, os métodos abstratos nas interfaces não precisam ter o modificador abstract.

Os métodos abstratos da interface são por padrão público e por isso não é necessário colocar o modificador de acesso.

Não é possível declarar um método abstrato em uma interface privado.

Implementando uma interface

Uma vez definida, uma interface pode ser implementada. Para isso, basta utilizar a palavra chave implements

public class MiltonNascimento implements Cantor {
    
    @Override
    public String cantar() {
        return "Amigo é coisa para se guardar, do lado esquerdo do peito.";
    }
    
}