package com.test;
class A{
public void jiaoHuan(int[] a){
int temp=0;
temp=a[0];
a[0]=a[1];
a[1]=temp;
}
}
public class Test {
public static void main(String[] args) {
int[] a={1,2};
A aa=new A();
aa.jiaoHuan(a);
for(int b : a){
System.out.println(b);
}
}
}
//这就是址传递、因为我们定义的数组a。它的变量名是指向他的首地址。在传递的过程中穿的是地址。地址传递。传给形参。 此时形参值会影响实参值
package com.test;
class A{
public void jiaoHuan(int a,int b){
int temp=0;
temp=a;
a=b;
b=temp;
}
}
public class Test {
public static void main(String[] args) {
int a=1,b=2;
A aa=new A();
aa.jiaoHuan(a,b);
System.out.println(a+","+b);
}
}
//这就是值传递。我们把a和b的值传给形参。形参只是暂时占用内存空间。在这个方法结束时。形参的值就不存在了。所以这时。 形参的值不能影响实参的值
总的来说。形参和实参的关系就是。形参值不能影响实参值,形参址可以影响实参值