where does downcasted object point to?
Question
public class Animal{
int n = 5;
public static void main(String[] args) {
Animal a = new Animal();
Animal ah = new Horse();
Horse h = new Horse();
System.out.println(h.n); // prints 7
System.out.println(ah.n); // prints 5
h = (Horse) ah;
System.out.println(h.n); // prints 7
}
}
class Horse extends Animal{
int n = 7;
}
My question:
Why does h.n
still print 7 after h = (Horse) ah
? After the assignment it should point to the same object that ah
points and the n field points to 5?
No correct solution
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow