Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Dúvida no Ex. 4 da Aula 4 - Quando o cast é necessário

Exercício 4 Escolha a opção adequada ao tentar compilar e rodar o arquivo a seguir:

interface Z {}
interface W {}
interface Y extends Z, W {}
class B {}
class C extends B implements Y {}
class D extends B implements Z, W {}
class E extends C {}
class A {
    public static void main(String[] args) {
        Z z = (Z) (B) new D();
    }
}

Pessoal,

Não entendi muito bem esse exercício. Dentro do método main na linha Z z = (Z) (B) new D(); ao ser feito o cast o "Z z" será do tipo Z ou B?

4 respostas
solução!

Weiller, Boa Noite !!

o objeto z é do tipo Z , ok !

mas o que acontece neste exercicio , o está fazendo cast do objeto D para B e depois fazendo para Z , logo o objeto estará como Z.

espero ter ajudado, Bons Estudos

Z z = (B) (Z) new D().

Se eu fizesse da forma que coloquei acima ele faria o casting primeiro para Z e depois para B?

exatamente .

se fosse desse jeito seria ao contrario .

Entendi, muito obrigado Celso. Duvida tirada.