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

Cast entre interfaces

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) {
    System.out.println(( (Z) (W) (Y) new C()) instanceof C);
     // C implementa Y..Nesse exemplo ai e válido? O que devolve o instanceof? Posso fazer indefinidos casts entre interfaces? Como segue o exemplo abaixo:

       System.out.println(( (Z) (W) (Y) (W) (Y) new C()) instanceof C);
  }
}
1 resposta
solução!

Oi Manoel,

Sim, o código é válido. O instanceof devolve um boolean, nesse caso retorna true. C pode implementar Y sim, pois Y é uma interface. Você pode fazer vários casts na árvore de hierarquia, mas no dia-a-dia isso é muito difícil de acontecer, será mais utilizado para a certificação mesmo.

Abraço!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software