Почему вывод кода "Я из А", хотя это (ключевое слово) относится к объекту класса B?
public class A {
public String str = "I am from class A";
public void display() {
System.out.println(this.str);
}
}
public class B extends A{
public String str = "I am from class B";
}
public class TestApp {
public static void main(String[] args) {
B b = new B();
b.display();
}
}
Существует три разных java-файла, в которых класс A и класс B имеют одну строковую переменную-член с одинаковым именем. Класс B наследует класс A.
это указывает на объект класса B, однако выводит значение str из объекта класса A.
Вывод: я из класса А
Не могли бы вы помочь мне понять вывод следующей программы?