タイトルが間違っていたらすみません。Test と TestChild1 の 2 つのクラスがあり、TestChild1 は Test から継承されます。どちらのクラスにも「a」という名前の変数があります。サブクラスオブジェクトでインスタンス化されたスーパークラス変数を介して変数「a」にアクセスしようとすると、サブクラスではなくスーパークラスで初期化された値が返されます。以下は、疑問を提起したコードです
class Test {
public int a = 10;
}
class TestChild1 extends Test {
public int a = 20;
}
class Main {
public static void main(String args[]) {
Test test = new TestChild1();
System.out.println(test.a); // results in 10
}
}
この行動の理由を教えてください。前もって感謝します....