метод getClass в Java

java

1108 просмотра

2 ответа

Как получается, что метод getClass в классе Object способен динамически возвращать Class?

Автор: abson Источник Размещён: 12.11.2019 09:59

Ответы (2)


11 плюса

Решение

Он не возвращает имя класса - он возвращает Classпредставление типа этого объекта. Каждый объект «знает», какой это тип на самом деле - вот как приведение может работать или не выполняться в зависимости от типа времени выполнения. Object.getClass()просто получает соответствующую информацию от объекта.

Если у вас есть класс, который содержит только один int, каждый объект все равно будет занимать более 4 байтов в памяти: фактически существует «заголовок» объекта, содержащий такие вещи, как ссылка на фактический тип объекта, информацию, относящуюся к монитору, связанному с этот объект и т. д.

Автор: Jon Skeet Размещён: 11.05.2010 04:51

1 плюс

И в этом нет ничего динамичного. Класс объекта никогда не может измениться.

Автор: user207421 Размещён: 12.05.2010 01:58
Вопросы из категории :
32x32