基本数据类型-传参机制
看一个案例分析结果时什么
public class MethodParameter{
public static void main(String[] args) {
int a = 10;
int b = 20;
AA aa = new AA();
aa.swap(a,b);
System.out.println("a="+a+"b="+b);
}
}
class AA{
public void swap(int a ,int b){
System.out.println("交换前a="+a+"b="+b);
int and = a;
a = b;
b = and;
System.out.println("交换后a="+a+"b="+b);
}
}
交换前a=10b=20
交换后a=20b=10
a=10 b=20
调用swap方法的时候会产生一个新栈
两个栈都是独立的空间 所以swap栈的交换并不影响main中的a和b的值
结论:基本数据类型 传递的是值(值拷贝),形参的任何形式不影响实参
引用数据类型-传参机制
public class MethodParameter{
public static void main(String[] args) {
B b = new B();
int[]arr = {1,2,3};
b.test100(arr);//调用方法
for (int i = 0;i<arr.length ;i++ ) {
System.out.print(arr[i]+"\t");
}
System.out.println();
}
}
class B{
public void test100 (int[]arr){
arr[0] = 200;
for (int i = 0;i<arr.length ;i++ ) {
System.out.print(arr[i]+"\t");
}
System.out.println();
}
}
小结:引用类型传递的是地址(传递也是值 但是值是地址),可以通过形参影响实参