在java中所有的传递都是值传递
首先我们先看一个例子
输出结果
在发生交换之后
对于方法中的person1‘和person2’的地址确实发生了交换,但当方法结束、栈帧弹出后,对于最后输出的person1和person2仍指向原来的地址,所以打印结果仍然是原来的值
如果想要交换两个对象中的值,则需要新初始化一个person对象
例如:
Person person=new Person("ss",11);
person.name=person1.name;
person.age=person1.age;
person1.name=person2.name;
person1.age=person2.age;
person2.name=person.name;
person2.age=person.age;
这样就可以对其中的数据进行交换



