java中的交换问题
请教一下java里的两个对象引用的交换是怎么实现的,C++里面的地址参数和java中的引用不一样吗?
class Person{
public String name;
public int age;
public Person(String tname ,int tage)
{
this.name = tname;
this.age = tage;
}
public Person(Person p)
{
this.name = p.name;
this.age = p.age;
}
public static void swap(Person p1,Person p2)
{
Person temp = p1;
p1 = p2;
p2 = temp;
}
public String toString()
{
StringBuffer strbuf = new StringBuffer();
strbuf.append(name).append(" ").append(age);
return strbuf.toString();
}
}
public class Swap {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Person p1 = new Person("ling",20);
Person p2 = new Person("lang",25);
Person.swap(p1,p2);
System.out.println(p1);
System.out.println(p2);
}
}
我里面的swap是没有用的,谁能帮我解释下啊