Java中值传递与引用传递

mac2025-10-29  4

先说一个概念:Java中只有值传递!!!!!!

当我们传递基本数据类型和String类型的变量时,例如下例。 public static void main(){ int x = 12; System.out.println(x);//输出12 t(x); System.out.println(x);//这里输出的还是12 //只是将x的值复制一份传递给了y,y=12,然后在t方法中y重新被赋值,所以此时y=0 public static void t(int y){ y = 0; } } 当我们传递引用类型变量时(类对象、数组等),如下例: public static void main(){ int[] x = 10; System.out.println(x[0]);//这里输出10 t(x);//由于这里是把数组x的地址复制了一份,传给了数组y,x与y都指向了内存中的同一个数组对象,所以对数组y进行修改的时候会影响数组x的值。 System.out.println(x[0]);//这里输出0 public static void t(int[] y){ y[0]=0; } }
最新回复(0)