Java lançando um objeto para uma interface que não está implementada
Encontrei a seguinte pergunta no meu livro de estudo e um pouco confusa:
Dado o código a seguir, qual opção, se usada para substituir/* INSERT CODE HERE */
, habilitará uma variável de referência do tipoRoamable
para se referir a um objeto doPhone
classe? (Selecione uma opção.)
interface Roamable{}
class Phone {}
class Tablet extends Phone implements Roamable {
//INSERT CODE HERE
}
As opções são:
Roamable var = new Phone();
Roamable var = (Roamable)Phone();
Roamable var = (Roamable)new Phone();
Porque interfaceRoamable
e classePhone
são independentes, uma variável de referência do tipoRoamable
não pode se referir a um objeto de classePhone
.Eu pensei que a opção correta é 4, no entanto, diz que é 3.
Mas,Phone
não implementaRoamable
interface, então você não pode transmitir, pode?