Java no soporta herencia mltiple, es decir no podemos fabricar un objeto ms
complejo con dos diferentes ms simples, sino que slo podremos heredar objetos nuevos de un slo objeto padre, que proveer los mtodos y propiedades bsicas que sern extendidas y/o ampliadas por el nuevo objeto. Es decir no podramos tener un objeto Lmpara Reloj que derive del objeto Lmpara y del objeto Reloj, sino que tendramos que usar otros mecanismos para proporcionar esa funcionalidad, interfaces y alojamiento de objetos.
Esto podra comprenderse como:
Interfaces: Permiten que sean implementadas por objetos para adquirir comportamiento, pero el comportamiento no es provisto por la interfaz, sino que el programador debe proporcionar una manera eficaz de construir los mtodos definidos en dicha interfaz uno por uno. Pueden implementarse varias interfaces al mismo tiempo, en todos los casos es necesario codificar funciones o mtodos.
Alojamiento: Podemos pensar que al objeto Lmpara le insertamos en su interior un objeto Reloj entonces podemos llamar a los mtodos del Reloj que est en la Lmpara, esto lo veremos ms adelante en algunos ejemplos. Ya no sera la Lmpara Reloj, pero sera una Lmpara con Reloj.
Herencia: Nos permite crear un objeto nuevo en base a uno existente, es una nueva clase de objeto, puede utilizar el alojamiento de otros objetos como propiedades para adquirir funcionalidad.