1. 首先定义一个克隆的原型接口
interface Prototype{
Prototype clone();
}
2.定义具体类实现可克隆
public class ConcretePrototype implements Prototype{
private int field;
public void setField(int field){
this.field=field;
}
public Prototype clone(){
ConcretePrototype prototype=new ConcretePrototype();
prototpye.setField(this.field);
return protoptype;
}
}
3.客户端调用进行克隆
ConcretePrototype prototype=new ConcretePrototype();
prototype.setField(Integer.MAX_VALUE);
ConcretePrototype clonePrototype=prototype.clone();//这样子就可以克隆复制出同样属性值的一个对象了,但有个延伸问题就是克隆的只是值,所以当时引用类型的时候克隆的将是地址,导致修改引用对应的值的时候会修改到原对象的值,因此就有了浅克隆,深刻隆的概念,深刻隆就是将对象序列化之后再反序列化出一个相同的对象来实现拷贝.