为什么父 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
我是 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