Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: camoay en 06 de Diciembre 2016, 21:19

Título: Qué es el método default para las interfaces Java y para qué sirve CU00696B
Publicado por: camoay en 06 de Diciembre 2016, 21:19
Buenas noches, aquí les dejo mis rspuestas:

a) ¿Una clase puede heredar de dos clases en Java?

No. Java no soporta la herencia múltiple.

b) ¿Una interface Java puede tener métodos que incluyan una sentencia while?

No. Los métodos de una interface están vacíos, no tienen cuerpo, sólo tienen la signatura y son las clases que las implementan las que están obligadas a declarar el cuerpo con todo el codigo que necesiten, igual que en una clase abstracta.

¿Una interface Java puede tener métodos que incluyan una sentencia  System.out.println?

No. Misma respuesta anterior.

c) ¿Un objeto Java puede ser del tipo definido por una interface?

Si. Y es una de las formas de Polimorfismo que permite Java.

¿Un objeto Java puede ser al mismo tiempo del tipo definido por una interface y del tipo definido por una clase que no implementa la interface?

No. La clase debe implementar la interface.

¿Un objeto Java puede ser al mismo tiempo del tipo definido por una interface y del tipo definido por una clase que implementa la interface?

Si, es una de las formas de Polimorfismo que permite Java.
   
Título: Re:Aprender Java desde cero,Concepto de INterface y herencia multiple, CU00696B
Publicado por: ESOJ en 07 de Diciembre 2016, 06:22
Buenos días.
El ejercicio es correcto.
Solo una aclaración en la pregunta b.Tu respuesta es correcta hasta java 7.Pues bien, ahora en Java 8 se ha incluido el método "default"  que se puede implementar en la clase interface y que su implementación será común para todas las clases que implementen esa interface. Dicho así, uno puede pensar que con este método se rompe con la premisa de que las clases interface son abstractas puras, pero la inclusión de este nuevo método en las interfaces de java 8 tienen dos propósitos interesantes como son:

No modificar las clases que usen esa interface.
Simular una "Seudo Herencia Múltiple", ya que java no dispone de herencia múltiple como tal. Sobre este punto hablaremos más adelante para aclarar ese concepto de seudo herencia múltiple.

Un saludo
Título: Re:Aprender Java desde cero,Concepto de INterface y herencia multiple, CU00696B
Publicado por: camoay en 07 de Diciembre 2016, 12:01
Muchas gracias ESOJ , interesante aporte sobre el nuevo método default para las interfaces, ya lo he curioseado y da mucho juego.

Gracias de nuevo y saludos,