Я не знаю, почему результат равен 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);
}
}
Подробнее здесь: https://stackoverflow.com/questions/435 ... nce-fields
Мобильная версия