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

Exercício 2

Eu não consegui entender porque a Classe B não compila:

abstract class B { abstract void x() { System.out.println(y()); } abstract int y(); } abstract class C extends B { int y() { return 1; } } class D extends C { int y() { return 2; } } class A { public static void main(String[] args) { D d = (D) (C) new D(); d.x(); } }

1 resposta
solução!

Oi Gilvani, tudo bem?

No caso da classe B não compila pois métodos abstratos não podem ter um body:

abstract void x() {
        System.out.println(y());
    }

o correto seria:

abstract void x();