小弟刚看了两个星期的java的书,一个偶然的机会看到java的引用也是占内存的,那就是和C++的不一样了呗,C++的引用又没有
单独占内存,只是个别名,因此我认为JAVA的引用就是 指针 。
不知道我的理解是正确的吗?大家帮帮忙啊……
谢过了啊!

解决方案 »

  1.   

    Java 中没有指针这个东西。Java中引用的意思,就是对象的名称-也就是对应内存中的地址。 和 C/C++里面,用数组的时候,把数组名传过去是一个道理。
      

  2.   

    可以这样理解(Java的引用是指针),尽管在Java里没有指针这个概念。我感觉这个“引用”可以理解为一种组织对象的形式。java里的变量的实例(也就是真正的数据)是存放在一个堆里的。然后,在一个栈里辟出一个空间存放一个“地址”指向这个堆中的实例。User u;这样的声明就是在栈里开辟空间的动作,此时u为null。而u=new User();就是在堆里开辟空间,然后把地址存在u里。然后通过u就可在堆上读写数据了。“引用”指的大概就是这样一个过程。当然,基本类型不是这样处理的。以上是个人的理解,如有谬误,敬请指正。