Почему вывод кода "Я из А", хотя это (ключевое слово) относится к объекту класса 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.

Вывод: я из класса А

Не могли бы вы помочь мне понять вывод следующей программы?

0 ответов

Другие вопросы по тегам