Java transfiere un objeto a una interfaz que no está implementada
Encontré la siguiente pregunta en mi libro de estudio y un poco confundido:
Dado el siguiente código, qué opción, si se usa para reemplazar/* INSERT CODE HERE */
, habilitará una variable de referencia de tipoRoamable
para referirse a un objeto de laPhone
¿clase? (Seleccione 1 opción).
interface Roamable{}
class Phone {}
class Tablet extends Phone implements Roamable {
//INSERT CODE HERE
}
Las opciones son:
Roamable var = new Phone();
Roamable var = (Roamable)Phone();
Roamable var = (Roamable)new Phone();
Porque la interfazRoamable
y clasePhone
no están relacionados, una variable de referencia de tipoRoamable
no puede referirse a un objeto de clasePhone
.Pensé que la opción correcta es 4, sin embargo, dice que es 3.
Pero,Phone
no implementaRoamable
interfaz, así que no puedes emitir, ¿verdad?