[英]About the interface Cloneable
例如,我们编写类XXX来实现Cloneable,并重写类XXX中的方法clone,是否有必要在该方法中调用super.clone?
几个重要的指针
如果您不希望自己实现,则可以使用Object的clone方法,但这将为您提供对象的浅表副本。 如果您想做更多的事情,最好给出自己的实现。
关于您的原始问题,不,如果您知道您的代码正在处理所有内容,则不是强制调用超级方法。 但是,如果您需要使用超类(在本例中为Object类)中的功能,则应调用超方法
是。 如果您不调用超类实现,则所需的任何数据都不会复制到新克隆中。
更新例如,超类可能希望将其私有变量复制到新克隆中。
实际的执行应该是
XXX clone = super.clone();
// 'clone' now has all the data the super class wants to know.
// add any details from your XXX class to it here.
return clone;
*编辑好,我错了,这是super.clone()调用的内容:
http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#clone%28%29
你应该打电话给super.clone()
如果we override the method clone in the class XXX
则无需调用super。 您只要在那里做就可以了。 -表示复制要复制的内容和方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.