ExpertiDict

Java · Intermediário · Português · Técnico

método default

/ˈmɛtodu deˈfɔwt/substantivo

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

Veja também

Todos os termos de Java