DEV Community

Problemas da herança múltipla

  • 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().

Top comments (0)