还是有点迷糊,先记下笔记
P213加深理解
1.形参:方法定义时,声明的小括号内的参数
2.实参:方法调用时,实际传递给形参的数据
值传递机制:
- 如果参数是基本数据类型,此时实参赋给形参的是实参真实存储的数据值。
- 如果参数是引用数据类型(如对象,数组啥的),此时实参赋给形参的是实参存储数据的地址值。
public class ValueTransferTest1 {
public static void main(String[] args) {
int m = 10;
int n = 20;
System.out.println("m = " + m + ", n = " + n);
//交换两个变量的值的操作
// int temp = m ;
// m = n;
// n = temp;
ValueTransferTest1 test = new ValueTransferTest1();
test.swap(m, n);
System.out.println("m = " + m + ", n = " + n);
}
public void swap(int m,int n){
int temp = m ;
m = n;
n = temp;
}
}
结果:
m=10,n=20
m=10,n=20
public class ValueTransferTest {
public static void main(String[] args) {
Data data = new Data();
data.m = 10;
data.n = 20;
System.out.println("m = " + data.m + ", n = " + data.n);
ValueTransferTest test = new ValueTransferTest();
test.swap(data);
System.out.println("m = " + data.m + ", n = " + data.n);
}
public void swap(Data data2){
int temp = data2.m;
data2.m = data2.n;
data2.n = temp;
}
}
class Data{
int m;
int n;
}
结果:
m=10,n=20
m=20,n=10