我们知道如果要交换两个数的值很简单,如果利用方法交换尼?
当我们利用普通类型去操作是结果肯定会大失所望,那么是为什么尼:
//无意义代码附上
public static void swap(int num1,int num2) {
int temp = num1;
num1 = num2;
num2 = temp;
}
可见他原来的值根本没有变。
那么采用引用类型尼:
//先上代码
class Num {
int number;
public Num(int number){
this.number=number;
}
}
public class Demo{
public static void main(String[] args){
Num num1 = new Num(10);
Num num2 = new Num(20);
swap(num1,num2);
}
public static void swap(Integer num1,Integer num2) {
int temp = num1.number;
num1.number = num2.number;
num2.number = temp;
}
}
swap()方法执行后改变的是堆里面的值。
本文通过具体的Java代码示例,深入解析了值传递与引用传递的区别。演示了使用基本数据类型和对象进行参数传递时,方法内部修改是否会影响外部变量的值。对于初学者理解Java内存模型和变量传递机制有重要作用。
868





