值传递,地址传递

基本变量传参是值拷贝,引用变量传参是传地址(数组,对象),会修改对象的值,因为有了地址,但String类型是final类,不改变值。

 int x = 10;

change(x);//调用x 传的是值就是10,但x是在栈中值还是10

System.out.println(x);

public void change(int x) {

  x = 20;

}

 

int[] x = new int[10];

change(x);//传递的是地址也是x的值,x是数组的引用存的是数组在堆内存中的地址,将地址传给 函数,函数就可以修改堆内存中的值了

System.out.println(x[0]);

public void change(int[] x) {

  x[0] = 20;

}

 

posted on 2015-05-22 10:25  weiguoyuan  阅读(174)  评论(0编辑  收藏  举报

导航