メソッドmを持つインターフェイスIと、動作が異なる2つの実装クラスAとBがあるという状況があります。
AとBのオブジェクトは、メソッドではなく、値と参照型にメモリのみを使用します。タイプIの変数に格納されているAのオブジェクトは、参照(ポインターサイズのオーバーヘッド)とオブジェクトのサイズとともに格納されます。ここで、メソッドmが呼び出されます。ここで、この1ビットの情報はどこに保存されますか?クラスBからではなく、クラスAのメソッドmを呼び出す必要がありますか?
この質問はまた、C++仮想メソッドで私を悩ませます。
interface I { void m(); }
class A implements I { void m(){println("a");} }
class B implements I { void m(){println("b");} }