Java no admite la herencia múltiple de clases y los métodos estándar no eluden esta restricción, ya que las clases pueden mantener el estado (con variables de instancia), pero las interfaces no.
Los métodos predeterminados proporcionan una forma limitada de herencia múltiple de comportamiento, lo que permite que una clase herede comportamientos de múltiples interfaces con métodos predeterminados.
Pueden ocurrir conflictos cuando dos interfaces implementadas por una clase tienen el mismo método predeterminado, como en el caso de dos interfaces, Alpha y Beta, ambas con el método reset().
Reglas para la resolución de conflictos:
1 La implementación de la clase tiene prioridad sobre la implementación de la interfaz predeterminada.
2 Si dos interfaces tienen el mismo método predeterminado y la clase no anula el método, se producirá un error.
3 Si una interfaz hereda otra y ambas definen el mismo método predeterminado, la versión de la interfaz heredada tiene prioridad.
Para hacer referencia explícita a una implementación estándar de una interfaz, puede utilizar la sintaxis: NameInterface.super.NameMethod().
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3