Java里方法的参数传递方式:值传递。
当参数类型不同时,传递的数据不同
如果参数是基本数据类型,此时参数传递给形参的是实参的数据值。
如果参数是引用数据类型,此时参数传递给形参的是实参的地址值。
- 参数是基本数据类型
main(){
int m=10;
int n=20;
swap(m,n);
System.out.println(m,n);
}
swap(int m,int n){
int temp=m;
m=n;
n=temp;
}
上面这个方法交换了swap方法中的m,n。方法结束就会被销毁。
所以System.out.println(m,n)语句输出还是main()方法中的m,n。
2.参数是引用数据类型
main(){
Data data=new Data();
data.m=10;
data.n=20;
new 类.swap(data);
System.out.println(m,n);
}
swap(Data data){
int temp=data.m;
data.m=data.n;
data.n=temp;
}
class Data(){
int m;
int n;
}
对象没销毁时,实参指向经过swap方法后Data对象,这时候m,n交换成功。