Я многое узнал о том, как C++ управляет своими виртуальными таблицами при наличии наследования (, множественного, виртуального и т. д. )и о том, как он размещает объекты в объем памяти.
Теперь Java должен заботиться только об одной строке наследования, об отсутствии сокрытия метода экземпляра и т. д., поэтому в этом случае виртуальные таблицы должны быть немного проще. Я знаю, что файлы Class
действуют как «шлюзы» в область методов, где хранятся определения типов, включая, как я полагаю, байт-код метода. Следующие два вопроса приходят мне на ум:
Class
?Наличие следующих классов и экземпляров:
class A{ int f(){...} }
class B extends A{ int f(){...} }
A a = new B();
a.f();
f ()в B называется. Является ли A разрешением через Class
файл B правильным указателем метода?
Заранее спасибо за ваши комментарии.