Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Default Method

Fiquei com um pouco de dúvida no que é exatamente um Default Method e a sua diferença de uma classe Abstrata.

1 resposta
solução!

Olá Davi,

Vamos por partes.

Falando de classes abstratas, elas são classes que podem possuir atributos e métodos concretos (com implementação), assim como qualquer outra classe. Além disso, elas podem possuir métodos abstratos (sem implementação) e não podem ser instanciadas.

Agora pensando em interfaces, até antes do java 8, elas podiam ter apenas métodos abstratos (sem implementação). Não era possível escrever um método concreto (com implementação) em uma interface.

O Default Method é um recurso disponível do java 8 pra frente, que permite que a gente escreva a implementação padrão para o método de uma interface.

Isto quer dizer que, quando implementarmos a interface, não seremos obrigados a implementar esses métodos default, pois eles já vem com uma implementação de "fábrica".

Quando colocamos a palavra chave default na declaração do método em uma interface, dizemos que ele será um default method e fornecemos sua implementação, ali mesmo na interface.