//版本1:如果一个类中的属性变量全是primitive,则直接浅克隆就行
public class UUser implements Cloneable{
private String name;
private int age;
UUser(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "UUser [name=" + name + ", age=" + age + "]";
}
//如果当前类的属性只是一些primitive(基本数据类型和String型)类型,则浅克隆就可以
public Object clone() throws CloneNotSupportedException{
return super.clone();
}
}
public class CloneDemo {
public static void main(String[] args) {
UUser user=new UUser("lx",20);
System.out.println(user);
System.out.println("--------------------");
try {
UUser user2= (UUser)user.clone();
user2.setAge(18);
user2.setName("java");
System.out.println(user);
System.out.println(user2);
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
}
}