Почему Java имеет исключение NullPointerException вместо NullReferenceException?

Возможные дубликаты:
Что такое исключение Null Pointer? Java: Почему NullPointerExceptions не называются NullReferenceExceptions?

Наше любопытное любопытство, кто-нибудь знает, почему исключение ссылочной ссылки в Java было вызвано NullPointerException?

Кажется противоречивым, что на новом языке, который официально не имеет указателей, выбор будет использоваться для использования этого имени при использовании нулевой ссылки.

Если кто-то может указать мне на авторитетное объяснение, это будет оценено.

Ответ 1

Утверждение, что Java "официально не имеет указателей", просто неверно. Просто потому, что вы не можете делать арифметику, это не значит, что это не указатель. C не является окончательным полномочием в отношении терминологии программирования.

Единственные люди, которые зацикливаются на нем, - это поклонники C/С++, которые хотят унизить Java за отсутствие власти над голым металлом или (вряд ли, в наши дни) маркетингом людей, которые хотят продавать Java как более простые, более безопасную альтернативу менеджерам, у которых были плохие впечатления от разработки C.

Из Спецификация языка Java:

Ориентировочные значения (часто просто ссылки) являются указателями на эти объекты и специальную нулевую ссылку, который не относится к объекту.