为什么我们不能在Java中使用指针?

Boo*_*ajP 10 java

为什么我们不在这里使用指针?

在Java中使用哪个概念而不是指针?

aio*_*obe 21

为什么我们不能在Java中使用指针?

因为语言设计者选择不在语言中包含指针.

我们为什么不在这里使用指针.

因为Java的设计者认为它是一个棘手的使用和容易出错的构造.

在Java中使用哪个概念而不是指针?

引用(如果忽略指针算法,则与指针非常相似).

请记住,您在堆上创建的所有对象(使用new关键字).这个事实,以及没有"解除引用操作符"(*在C/C++中)的事实意味着没有办法获取对象!由于无法获取对象,因此无法将对象存储在变量中.因此,所有变量(包含原始类型的变量除外)都是引用类型.


Niv*_*vas 10

这是一个语言设计决定.

来自太阳白皮书Java语言环境:

大多数研究都认为指针是使程序员能够在代码中注入错误的主要特性之一.鉴于结构已经消失,数组和字符串是对象,对指向这些结构的指针的需求就消失了.因此,Java没有指针数据类型.通过声明对象和对象数组,可以更轻松,更可靠地执行任何需要C中的数组,结构和指针的任务.您可以通过算术索引访问数组,而不是对数组指针进行复杂的指针操作.Java运行时系统检查所有数组索引以确保索引在数组的范围内.

由于指针不正确,你不再有悬空指针和内存垃圾,因为Java中没有指针.