Fork me on GitHub

c++中的引用和java中引用的区别

c++中引用其实是对象的别名,何为对象的别名,即在传递时存的是真实数据的地址。
而java中的引用有点类似c中的指针的概念,它在参数的传递过程(这里是指类类型的参数传递)存的指向真实数据地址的地址。
概念清楚后,我们就可以很容易理解下面的代码。

public static void change(String str){
   str="4321";
}
public static void main(String []args){
  String str="1234";
  change(str);
  System.out.println(str);
}

对于上面代码的输出应该是1234 由于调用changge函数传参过去是值传递,值传递有两种,当数据是基本类型时传递过去的是数据的内容;当数据是类类型时传递过去的是引用即指向对象内容的地址,在change函数中创建了字符串"4321"的对象,这时将change中的形参str指向对象"4321"的地址,输出时main中的str跟change中的str是无关的,输出的值还是"1234"。


最新评论

    还没有人评论...

当当

友情链接

Powered by Python. Copyright © 2017.

鄂ICP备17010875号. All rights reserved.