Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Quando o cast é necessário > Exercício 4 ??

Boa noite, ocCódigo abaixo do exercício não dá erro, compila e roda na boa. mas não consegui entender como rolou este cast "(Z) (B) new D()" para o compilador???

Por acaso a forma do compilador de ler este cast seria?

1- Classe B e seus filhos podem um dia implementar interface Z? R:Sim

Depois

2-Classe D pode implementar interface Z? R:Sim

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();
    }
}
1 resposta
solução!

Oi Wagner,

Exatamente! Todo cast para interface é possível pois algum dia qualquer um dos filhos daquela classe podem implementar uma interface.

Abraço