欢迎使用CSDN-markdown编辑器

浅克隆:除了克隆对象之外,会把属性给复制一份。
深克隆:在复制对象时,会把所有属性(包括引用类型的属性)都复一份。
注意:1)如果想对一个对象进行克隆,必须实现cloneable。
2)在每一类中重写clone方法,把重写的克隆方法权限改public。
(1)B 浅克隆A

“`
class A implements CloneAble{
String name;
int age;
Address address;
public Object clone() throws CloneNot SupportedException{
return super.clone();
}
}
class Address{
String address;
}
结果:B只会克隆name和age.
(2)B 深克隆A
class A implements CloneAble{
String name;
int age;
Address address;
public Object clone() throws CloneNot SupportedException{
A a=(A)super.clone();
a.address=(Address)address.clone();
}
}
class Address implements CloneAble{
String address;
public Object clone() throws CloneNot SupportedException{
return super.clone();
}
}
结果:B不仅会克隆name和age 还会将A中的引用类型address克隆过来.

你可能感兴趣的:(欢迎使用CSDN-markdown编辑器)