什么事引用,引用是一个变量的别名,不分配内存空间,和被引用变量是一回事。
引用也不是类型,他的实现原理是什么啊?

解决方案 »

  1.   

    是这样的··数据类型分为引用类型和值类型··引用类型是要在堆空间里存放的··而值类型是存储在栈空间里的当你要引用一个数据时(比如说一个对象)
    Class Cat{}
    Class Use{
    Cat cat=new Cat();/*这里构造了一个Cat类的对象·此时这个对象被命名为cat``这个cat指向的是一个Cat对象··也就是说·cat是存放在栈空间内的一个名称··它指向堆空间里的一个实质··*/
    }不知道这样说你命不明白··
      

  2.   

    引用就是C语言里面的指针,一般占4个字节,引用的内容,也就是new出来的那个东西,才是实际的对象。
    比如:Person p;只是声明了一个引用,
    p=new Person();这时候,p这个指针指向了堆内存里面的一个Person对象实例。
      

  3.   

    一个引用称为一个指针或者在其它语言中称为内存地址。JAVA编程语言象其它语言一样不支持地址的详细使用,你可以使用变量的名字来取代。
      

  4.   

    我说说我的看法吧 可能不太准确 Java中所有的数据类型都是一个一个的类 基本的数据类型也被封装成了类
    创建一个变量的时候 除了基本的数据类型 就算是String型的数据也需要在使用关键字newnew就相当于在内存中分配区域来存放数据但是为了方便起见 我们需要一个类似指针的东西来方便的在内存中寻找这些new出来的数据
    这就是引用 存放在栈空间中String str = new String();
    str就是这个字符串的引用
      

  5.   

    其实没有必要关注这个,对你学java基本没啥益处。如果实在无聊,可以看看
    http://blog.csdn.net/ZangXT/archive/2009/08/05/4410246.aspx