为什么父 class 的值是变量显示为输出

Why value of parent class is variable is shown as output

我是 java 的新手,正在阅读有关动态调度的内容。我尝试了它的程序,但我得到的输出是出乎意料的。因此,在下面的代码中,我创建了两个 classes 一个 Parent 和另一个 Child,在 Child class 中,我创建了 Child class 的对象并通过 Parent [=15 类型的变量引用它=].当我使用该变量打印 i 的值(两者的 int 类型实例变量 class)时,我得到了父 class 的值,但它应该打印子 [=] 中的 i 的值15=]。有人可以解决这个问题吗?

`
    class Parent 
    {
        int i=10;
    }
    class Child extends Parent
    {
        int i=20;
        public static void main(String ar[])
        {
            Parent obj= new Child();
            System.out.println(obj.i);
        }
    }

`

无法在 Java 中覆盖变量,请查看其他问题:

why instance variable of super class is not overridden in sub class method