java中的指针问题

有些人觉得java里面没有指针。关于这个问题,我是这样理解的,java中是有指针的,但是它的存在无法体现出来。


 对于java中的基本变量类型(byte,int,float)等,我们无法获得其在内存中的地址,也就无法使用指针。但是声明类的对象时的情况不同。java中声明对象的基本语法形如 classA


a=new classA();  比c++少一个代表指针的“*”号,但是这并不代表a不是一个指针,而是因为在java中,只有new这一种声明对象的方式,所以得到的都是指针,便将代表指针的“*”


号省略了。如运行以下代码


classA a=new classA();

classA b=a;

此时虽有a,b两个变量,但内存中只分配了一个classA类的内存空间,所以a和b确实是指针。


但是虽说a和b时指针,但是我们却无法通过其对内存地址实施任何操作,Java中的“&”和“*”不存在像c语言中的用法,也就是说我们根本不需要关心指针的存在,因为这里的指针已


经失去了其在C语言中改变内存地址的功能。


综上所述,Java中存在指针,但已经失去其原有的功能,加上Java的gc回收机制,指针简直就是毫无存在感,所以有些地方说Java中没有指针应该也是说的通的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值