Eae pessoal, blz?
Seguinte, não consigo entender o resultado do código abaixo:
class A {
int x = 5;
}
class B extends A {
int x = 6;
}
public class CovariantReturnTest {
public A getObject() {
return new A();
}
}
class SubCovariantReturnTest extends CovariantReturnTest {
public B getObject() {
return new B();
}
public static void main (String[] args) {
CovariantReturnTest c1 = new SubCovariantReturnTest();
System.out.println(c1.getObject().x);
}
}
O resultado é 5, mas por que não 6?
Quando utilizamos retorno covariante o Java não faz a ligação dinâmica?
Valeu!
