1.clone()
是Object类中的一个方法,可以实现对象的克隆。(区别于赋值只能赋值引用)
2.浅克隆与深克隆
浅克隆就是能够克隆本对象,但本对象中的对象引用仍然指向原来的对象。
深克隆,除了克隆本对象,还会克隆本对象中的其他对象引用。
3.实现方式
实现克隆需要实现Clonable接口,并重写clone()方法。
浅克隆
只需要调用super方法即可。即默认的克隆就是浅克隆。
深克隆
要考虑对象中的属性:
1.基本数据类型就不用说了,自动实现深克隆
2.String类型没有clone方法(为啥?),可以通过重新new一个String实现深克隆。
3.其他对象引用也必须实现clonable接口并重写clone,并在本clone方法中实现对象引用的克隆。
网友评论