Я не могу понять следующий вывод.
Я не знаю, почему вывод равен 10, я думаю, что строка A a = new B()
создает новый экземпляр класса B, я думаю, что результат должен быть 20
class A {
int i = 10;
}
class B extends A {
int i = 20;
}
public class MainClass {
public static void main(String[] args) {
A a = new B();
System.out.println(a.i);
}
}
Почему это работает так, пожалуйста, объясните.