`

java中clone()

 
阅读更多

java中的Clone来创建对象很久以前使用过,太长时间不用反倒忘了,好记性不如乱笔头,今天捡起来并记录好笔记。

浅层复制:只复制成一个新的对象,但是不复制对象的属性。



 

深层复制:复制成一个新的对象,对象的属性也复制一个新的。



 

注意:java中的clone()方法是浅层复制。

 

clone()方法的使用步骤:

1)让要进行复制的类实现Cloneable接口  

2) 覆盖clone()方法

注意:调用Clone()方法的对象所属的类(Class)必须implements Clonable接口,否则在调用Clone方法的时候会抛出CloneNotSupportedException。

 

如何完成深层复制:

@Override
public Object clone() {
	User u = null;
	try {
		u = (User) super.clone();
		pet = (Dog)pet.clone();//把对象的属性也clone一遍就可以实现深层复制
	} catch (CloneNotSupportedException e) {
		e.printStackTrace();
	}
	return u;
}

 

 

 

 

 

  • 大小: 32.9 KB
  • 大小: 39.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics