在函数中传入参数,数组,对象等等是引用,基础类型数据时传值,比如int,double等等。但是一个数组必须要实例化后才能是引用传参,否则是值传递,例子如下:
public class Test { public static void main(String[] args) { // TODO Auto-generated method stub int a[]=null,b[]=new int[3]; init(a); System.out.println("调用init(a)后a:"+a); changeValue(b); System.out.println("调用changeValue(b)后b[0]:"+b[0]); } public static void init(int a[]){ a=new int[5]; for(int i=0;i<a.length;i++) a[i]=1; } public static void changeValue(int a[]){ a[0]=9; } }
然后结果如下: