Herencia múltiple en Java

Una pregunta: ¿dispone Java del mecanisme OO de herencia múltiple?

En general diríamos que no, pero la respuesta sería más bien que parcialmente. Y esa parcialidad está a punto de incrementarse.

Podemos decir que hay tres tipos de herencia múltiple: de tipo, de comportamiento y de estado.

La herencia múltiple de tipo está muy relacionada con el polimorfismo ya que define que podemos heredar tipos (en algunos contextos también llamados contratos) desde varias fuentes. Efectivamente Java lo permite mediante la implementación en una clase de múltiples interfaces. Así que este tipo de herencia múltiple siempre ha existido en Java.

La herencia múltiple de comportamiento es la que combina métodos de diferentes fuentes. La próxima versión Java 8 incorpora, como parte del proyecto Lambda, los métodos por defecto. Esto permite añadir métodos a un _interface _pero incluyendo código por defecto que se utilizaría si la clase que implementa el _interface _no define el método. Muy parecido a la herencia convencional que ya tenía Java. La diferencia está en el siguiente punto.

La herencia múltiple de estado es la que combina también la definición del estado de la clase, los atributos. Java no incorpora (ni hay planes de momento) de añadir esta funcionalidad como sí tienen otros lenguajes OO como Eiffel o C++.