Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Java有NullPointerException而不是NullReferenceException?_Java_Naming - Fatal编程技术网

为什么Java有NullPointerException而不是NullReferenceException?

为什么Java有NullPointerException而不是NullReferenceException?,java,naming,Java,Naming,可能的重复项: 出于好奇,有人知道为什么Java中的null引用异常被称为NullPointerException吗 在一种官方没有指针的新语言中,当使用空引用时,会选择使用这个名称,这似乎是违反直觉的 如果有人能给我一个权威性的解释,我将不胜感激。Java“官方没有指针”的说法完全是错误的。不能对它进行算术运算并不意味着它不是指针。C不是编程术语的最终权威 只有C/C++的粉丝们因为Java在裸机上的能力不足而对它嗤之以鼻,或者(现在不太可能)营销人员希望把Java作为一种更简单、更安全的

可能的重复项:

出于好奇,有人知道为什么Java中的null引用异常被称为NullPointerException吗

在一种官方没有指针的新语言中,当使用空引用时,会选择使用这个名称,这似乎是违反直觉的

如果有人能给我一个权威性的解释,我将不胜感激。

Java“官方没有指针”的说法完全是错误的。不能对它进行算术运算并不意味着它不是指针。C不是编程术语的最终权威

只有C/C++的粉丝们因为Java在裸机上的能力不足而对它嗤之以鼻,或者(现在不太可能)营销人员希望把Java作为一种更简单、更安全的替代品来销售,而不是那些在C开发方面有过不好经验的管理者

从:

参考值(通常只是 引用)是指向这些的指针 对象和一个特殊的空引用, 指的是没有对象


有趣的是,你去年在Jsight的链接中对这个问题发表了评论。=)@里吉:啊,我的错。我做了错误的搜索(java NullPointerException),而不是(java NullReferenceException)。我删除这个问题是为了放弃任何不义之财。在普遍理解的概念名称上的分歧是整个计算机科学学科的一个基本问题。更糟糕的是,在单一语言规范中对名称存在分歧。用两个不同的词来指同一件事有什么意义?为什么他们要告诉我们这是指针?说它和C/C++指针一样高效?在这种情况下,他们应该知道这种命名差异。