Person p1 = new Person(); Person p2 = p1;
Person p1 = new Person(); Person p2 = p1.clone();
public class ShallowClone implements Cloneable {
public String name;
public int age;
public Person person;
public ShallowClone() {
}
public ShallowClone(String name, int age, Person person) {
this.name = name;
this.age = age;
this.person = person;
}
@Override
public ShallowClone clone() {
ShallowClone c = null;
try {
c = (ShallowClone) super.clone();
return c;
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return c;
}
public static void main(String[] args) {
Person p = new Person();
p.name = "p";
p.age = 10;
ShallowClone c1 = new ShallowClone("Jim", 18, p);
System.out.printf("before clone: c1 = %s, c1.person = %s\n", c1, c1.person);
ShallowClone c2 = c1.clone();
System.out.printf("after clone: c2 = %s, c2.person = %s\n", c2, c2.person);
}
}
before clone: c1 = cre.sample.test.object.ShallowClone@558385e3, c1.person = cre.sample.test.Person@2dcb25f1 after clone: c2 = cre.sample.test.object.ShallowClone@742808b3, c2.person = cre.sample.test.Person@2dcb25f1
/**
* deep clone代码示例
* Created by CreGu on 2016/6/9.
*/
public class DeepClone implements Cloneable {
public String name;
public int age;
public Person person;
public DeepClone() {
}
public DeepClone(String name, int age, Person person) {
this.name = name;
this.age = age;
this.person = person;
}
@Override
public DeepClone clone() {
DeepClone c = null;
try {
c = (DeepClone) super.clone();
c.person = person.clone();
return c;
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return c;
}
public static void main(String[] args) {
Person p = new Person();
p.name = "p";
p.age = 10;
DeepClone c1 = new DeepClone("Jim", 18, p);
System.out.printf("before clone: c1 = %s, c1.person = %s\n", c1, c1.person);
DeepClone c2 = c1.clone();
System.out.printf("after clone: c2 = %s, c2.person = %s\n", c2, c2.person);
}
}
before clone: c1 = cre.sample.test.object.DeepClone@558385e3, c1.person = cre.sample.test.Person@2dcb25f1 after clone: c2 = cre.sample.test.object.DeepClone@742808b3, c2.person = cre.sample.test.Person@70535b58
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有