0
私はjavaを初めて使い、動的ディスパッチについて読んでいました。私はそのプログラムを試しましたが、私が得たアウトプットは予想外でした。したがって、次のコードでは、ParentクラスとChildクラスの2つのクラスを作成し、ChildクラスではChildクラスのオブジェクトを作成し、それをParentクラス型の変数で参照しました。その変数を使ってi(int型の両方のクラスのインスタンス変数)の値を出力すると、親クラスの値が得られましたが、子クラスにあるiの値が出力されます。誰もこれをクリアしてもらえますか?親クラスの値が可変である理由は、出力として表示されます
`
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);
}
}
`
をライン '親OBJ場合、それは=、親の値を印刷する必要がありますnew Child(); 'が' Child obj = new Child(); '行に変更されました。 –
しかし、その背後にある理由 –