在C++中类似string a="bbb";中的a是实例对象,是把"bbb"拷贝给a,但是java中a好象是个引用,比如:string a=new string("bbb"),a就是"bbb"的一个引用,而且如果我再定义一个string b=a;b 也"bbb"的引用,并且b 也可以重新附值,作为另外对象的引用.
 对于C++的引用和java的引用,我有点搞糊涂了,请高手帮我分析一下,谢谢!

解决方案 »

  1.   

    C++,java的引用都是一样的,大哥,你知道什么是引用吗,string a=new string("bbb"),string b=a,这样叫引用,引用只能是传递增一个变变,String a="abc"; String & b=a;
    b对变量a的引用,就是说b,a的空间是同一个,当下面a="a",b的值也改变,引用是指向同一空间.
    java中没有传地址,很多通过引用代替指针操作.
      

  2.   

    据说java没有指针啦,都是引用了
      

  3.   

    我学过Java和C#后也发现了这一点,和C++不同,它们中的对象都相当于C++中的引用,比如HashTable.Add (strKey,attrTemp); 每插入一个后下一次插入都要再用一次attrTemp=new attrtype ();而如果是c++只要用一次new 的操作就可以了,因为Add的操作肯定是复制一份对象作为另一个对象的成员,但Java中只是将成员指向这个new的对象就可以了.