Я тренируюсь для экзамена по Java, и я сталкивался с тем, чего не понимаю в прошлом году. Вот код
class Mother {
int var = 2;
int getVar() {
return var;
}
}
class Daughter extends Mother {
int var = 1;
int getVar() {
return var;
}
public static void main(String[] args) {
Mother m = new Mother();
System.out.println(m.var);
System.out.println(m.getVar());
m = new Daughter();
System.out.println(m.var);
System.out.println(m.getVar());
}
}
Вопрос: "Каков результат этой программы?". Я бы пошел с 2 2 1 1, но когда компилирую и запускаю этот кусок кода, я получаю 2 2 2 1.
Кто-нибудь может объяснить мне, почему?
Спасибо за чтение!