Java · Intermediário · Português · Técnico
método default
Método de interface com corpo, marcado com default, desde o Java 8. Permite acrescentar comportamento a uma interface sem quebrar as classes que já a implementam.
Onde usar
Surge em APIs como List.sort e Iterable.forEach, adicionadas assim ao Java 8. Se duas interfaces trazem o mesmo default, a classe precisa resolver o conflito.
Em código
interface Saudacao {
String nome();
default String ola() {
return "Olá, " + nome();
}
}
Saudacao s = () -> "Ana";
System.out.println(s.ola());Exemplos
Adiciona como método default para não quebrar quem já implementa.
As duas interfaces têm o mesmo método default, então precisa sobrescrever.
Cuidado
Não substitui a classe abstrata: o método default não guarda estado de instância.
Antônimos
método abstrato