class User { private int user_id; private String user_name; private int user_age; public User(int user_id, String user_name, int user_age) { this.user_id = user_id; this.user_name = user_name; this.user_age = user_age; } public User() { } public int getUser_id() { return user_id; } public void setUser_id(int user_id) { this.user_id = user_id; } public String getUser_name() { return user_name; } public void setUser_name(String user_name) { this.user_name = user_name; } public int getUser_age() { return user_age; } public void setUser_age(int user_age) { this.user_age = user_age; } } public class ClassReferenceTest { public static void swap_obj(User x, User y){ User tmp_user = new User(); //引用的拷贝 tmp_user = x; x = y; y = tmp_user; } public static void real_swap_obj(User x, User y){ User tmp_user = new User(); tmp_user.setUser_id(x.getUser_id()); tmp_user.setUser_name(x.getUser_name()); tmp_user.setUser_age(x.getUser_age()); x.setUser_id(y.getUser_id()); x.setUser_name(y.getUser_name()); x.setUser_age(y.getUser_age()); y.setUser_id(tmp_user.getUser_id()); y.setUser_name(tmp_user.getUser_name()); y.setUser_age(tmp_user.getUser_age()); } public static void main(String[] args) { User a = new User(1,"张三",25); User b = new User(2,"李四",24); swap_obj(a,b); System.out.println(a.getUser_name()); real_swap_obj(a,b); System.out.println(a.getUser_name()); } }
Output:
张三
李四
原文:http://www.cnblogs.com/xiaocaimiao/p/3564238.html