为什么Java有NullPointerException而不是NullReferenceException?
可能的重复项:
什么是空指针异常?
Java:为什么NullPointerExceptions不叫NullReferenceExceptions?
我们闲置的好奇心,有谁知道为什么Java中的空引用异常被称为NullPointerException?
在一种官方没有指针的新语言中,在使用空引用时,将选择使用此名称,这似乎有悖常理。
如果有人能给我指出一个权威的解释,那将不胜感激。
可能的重复项:
什么是空指针异常?
Java:为什么NullPointerExceptions不叫NullReferenceExceptions?
我们闲置的好奇心,有谁知道为什么Java中的空引用异常被称为NullPointerException?
在一种官方没有指针的新语言中,在使用空引用时,将选择使用此名称,这似乎有悖常理。
如果有人能给我指出一个权威的解释,那将不胜感激。
Java“官方没有指针”的说法是完全错误的。仅仅因为你不能对它进行算术运算并不意味着它不是一个指针。C 不是编程术语的最终权威。
唯一被它困扰的人要么是C/C++粉丝,他们想贬低Java在裸机上缺乏权力,要么(现在不太可能)营销人员想要将Java作为更简单,更安全的替代品,而不是那些在C开发方面有过糟糕经历的经理。
从 Java 语言规范中可以看出:
引用值(通常只是引用)是指向这些对象的指针,并且是一个特殊的 null 引用,它不引用任何对象。
 
				    		 
				    		 
				    		 
				    		