Olá,
Estou realizando alguns exercícios em Java, porém me deparei com um que não entendi a resposta, se poderem me explicar o motivo de imprimir 2, serei grato.
class D extends C {
void x() {
System.out.println(1);
}
void y(C b) {
x();
}
}
class C extends B {
void x() {
System.out.println(2);
}
}
class B {
void x() {
System.out.println(3);
}
void y(B b) {
b.x();
}
}
class A {
public static void main(String[] args) {
new B().y(new C());
}
}