首先要一个类有clone()复制方法,必须实现一个接口Cloneable
class CloneClass implements Cloneable{
public int aInt;
public Object clone(){
CloneClass o = null;
try{
o = (CloneClass)super.clone();
}catch(CloneNotSupportedException e){
e.printStackTrace();
}
return o;
}
}
下面例子说明
Class A implements Cloenable{
public int i=1;
public Object clone(){
o=(CloneClass)super.clone():
try{
}catch(CloneNotException e){
e.printStackTrack();
}
}
}
Class B{
public int i=1;
}
如果你想要一个对象的复本,但还需要它实时的值就用clone,用new 生成的实例 带的字段 不会变 i=1;
A a =new A();
a.i=2;
B b=new B()
b.i=2;
如果给A 和B各创建一个复本a2 b2
A a2=a.clone();
B b2=new B();
a2的 i=2 ;b2 的i=1; 这就是区别