Java não suporta herança múltipla de classes, e os métodos padrão não burlam essa restrição, pois classes podem manter estado (com variáveis de instância), mas interfaces não.
Métodos padrão oferecem uma forma limitada de herança múltipla de comportamento, permitindo que uma classe herde comportamentos de várias interfaces com métodos padrão.
Conflitos podem ocorrer quando duas interfaces implementadas por uma classe têm o mesmo método padrão, como no caso de duas interfaces, Alpha e Beta, ambas com o método reset().
Regras para resolver conflitos:
1 A implementação de classe tem prioridade sobre a implementação padrão da interface.
2 Se duas interfaces têm o mesmo método padrão e a classe não sobrepuser o método, ocorrerá um erro.
3 Se uma interface herda outra e ambas definem o mesmo método padrão, a versão da interface herdada tem precedência.
Para referenciar explicitamente uma implementação padrão de uma interface, pode-se usar a sintaxe:
NomeInterface.super.nomeMétodo()
.
For further actions, you may consider blocking this person and/or reporting abuse
Top comments (0)