リンクのこの回答に従ってhttps://stackoverflow.com/a/6606490/4816065
Java 仮想マシンの Sun の実装の一部では、クラス インスタンスへの参照は、それ自体が一対のポインタであるハンドルへのポインタです。もう 1 つはオブジェクト データ用にヒープから割り当てられたメモリです。
したがって、2 つのクラス A と B は次のようになります。
class A{
void m1(){
System.out.println(" from m1 method ");
}
}
class B extends A {
void m2(){
System.out.println(" from m2 method ");
}
}
main メソッドでは、次のようにオブジェクトを作成します。
A a1 = new A(); // The dispatch table of a1 contains only method m1.
B b1 = new B(); // The dispatch table of b1 contains method m1 and m2.
A a2 = new B(); // What will the dispatch table of a2 be?
m1 のみを持ちますか (オブジェクト参照が A タイプであるため)、または m1 と m2 を持ちますか (参照されるオブジェクトが B タイプであるため)。