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();
}
}