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;
}
-
值传递就是实参把值复制一份传给形参,形参获取到这个值后改变它不会影响到原来实参的值,缺点是当传递的数据量非常大的时候,内存占用高。
-
引用传递就是把大量数据装在一起传递给形参,实际传过去的是它在堆中的地址,实参和形参同时指向这个地址,那么形参对这个引用数据中值进行改变时,实参也会受影响。
博客介绍了值传递和引用传递的概念。值传递是实参复制值给形参,形参改变不影响实参,但大数据量时内存占用高;引用传递传递的是堆中地址,实参和形参指向同一地址,形参改变会影响实参。

被折叠的 条评论
为什么被折叠?



