读书人

Cloneable接口的应用

发布时间: 2012-09-04 14:19:30 作者: rapoo

Cloneable接口的使用
Cloneable接口声明中没有指定要实现的方法,一个类要实现Cloneable,最好是覆盖Object类的clone()方法。


1. 如果类没有实现Cloneable接口,调用类对象的clone方法抛出CloneNotSupportedException。



结果是:Johnny Qin 28

对于原型类型(如int),clone是没问题的,被clone的对象改变了不会影响到复制品(age还是28)。

对于引用类型(如Name),clone方法只是复制了引用(浅度就体现在这),如果改变了引用的值,复制品也会受到影响(Johnny Qin)。


4. 继承链上的祖先必须要有一个类声明实现Cloneable接口。

Person person = new Person();Male male = new male();ChineseMale chineseMale = new ChineseMale();person.clone();male.clone();chineseMale.clone();


person.clone()会报错。


5. Object类本身没有实现Cloneable接口,在一个Object类对象上调用clone方法会报CloneNotSupportedException。

读书人网 >编程

热点推荐