Как динамическое связывание реализовано в Java?

Я знаю, что в C++ есть виртуальный указатель в каждом экземпляре, указывающий на виртуальную таблицу. Но как в Java реализовано динамическое связывание?

2 ответа

Я думаю, я отвечу на свой вопрос. По сути, объект хранит ссылку на свой объект класса, куда динамическое связывание будет перенаправлено от объекта к.

Просто чтобы быть разборчивым, это реальный указатель на реальную таблицу виртуальных функций, отсюда и название "таблица виртуальных функций", часто сокращенно обозначаемая как "vft". Это также обычно сокращенно "vtbl", который не помогает вопросам.

Java, вероятно, делает что-то довольно похожее.

Другие вопросы по тегам