你的代码有问题,我按照你的意思写了一下,交换以后的值当然是会改变的,你操作的是Person类中的成员变量
class Person
{
int a;
int b;
public Person(int a, int b) {
this.a = a;
this.b = b;
}
}
class PersonDemo{
public static void swap(Person dw)
{
int temp = 0;
temp = dw.a;
dw.a = dw.b;
dw.b = temp;
System.out.println("swap方法中,a的值:"+dw.a+",b的值:"+dw.b);
}
public static void main(String[] args)
{
int a=5; int b=8;
Person p = new Person(a, b);
swap(p);
System.out.println("swap后,a的值:"+p.a+",b的值:"+p.b);
}
} |