为什么Java有NullPointerException而不是NullReferenceException?

可能重复:
什么是空指针exception?
Java:为什么NullPointerExceptions不是NullReferenceExceptions?

我们的好奇心,有谁知道为什么Java中的空引用exception被称为NullPointerException?

似乎违反直觉的是,在正式没有指针的新语言中,在使用空引用时将使用此名称。

如果有人能指出我的权威解释,那将不胜感激。

Java“正式没有指针”的说法简直是假的。 仅仅因为你不能对它做算术并不意味着它不是一个指针。 C不是编程术语的最终权威。

唯一被人喋喋不休的人是C / C ++粉丝,他们想要贬低Java因为缺乏对裸机的权力,或者(不太可能,现在)营销人员想要将Java作为一种更简单,更安全的替代品来销售那些在C开发方面经验不佳的经理人。

从Java语言规范 :

引用值(通常只是引用 )是指向这些对象的指针 ,以及一个特殊的空引用,它指的是没有对象。