在Java中参数传递分为两种,传值传递,引用传递
- 基本数据类型的参数传递时以传值的方式进行,即将实际参数的值传递给形参; 在方法内对形参的修改只影响形参单元,不影响实参。就像是copy,附件。
- 引用类型(如对象、数组等)参数,其实参单元存储的是地址,是将对象引用地址传递给形参。在方法内对形参的访问实际是访问所指引用对象,实参和形参代表同一对象, 就像是剪切。
例如:
public class Test1{
//基本类型参数传递示例
static void paraPass(int x) {
x = x+1;
System.out.println("x= "+x);
}
public static void main(String args[]) {
int m=5;
paraPass(m);
System.out.println("m= "+m);
}
}
运行结果:x=6 m=5
public class Test2 {
//引用类型参数传递示例
static void paraRef(int x[ ]) {
x[1]=x[1]+1;
}
public static void main(String args[]) {
int a[ ] = { 1 , 4 , 6 , 3 };
paraRef(a);
for (int k=0;k<a.length;k++)
System.out.print (a[k]+ "\t");
}
}
运行结果:1 5 6 3