public static void main(String[] args) {
//引用传递
Number number = new Number();
number.num = 10;
transferData1(number);
System.out.println(number.num); //100
//值传递
int num = 10;
transferData(num);
System.out.println(num); //10
}
public static void transferData1(Number number){
number.num = 100;
}
public static void transferData(int number){
number = 100;
}
static class Number{
public int num;
}
-
值传递就是实参把值复制一份传给形参,形参获取到这个值后改变它不会影响到原来实参的值,缺点是当传递的数据量非常大的时候,内存占用高。
-
引用传递就是把大量数据装在一起传递给形参,实际传过去的是它在堆中的地址,实参和形参同时指向这个地址,那么形参对这个引用数据中值进行改变时,实参也会受影响。