克隆方法如何在Cloneable中得到保护?

时间:2012-05-09 23:02:11

标签: java cloneable

我有一个非常简单的问题(我猜!) 如何在Cloneable接口中保护clone方法,而接口只能声明公共方法?

4 个答案:

答案 0 :(得分:2)

Cloneable接口实际上没有定义任何方法。它只是一个标记界面,类似于Serializable。

预计任何实际可克隆的对象都将实现此接口,并从Object覆盖clone()方法(至少使其成为公共访问)。

答案 1 :(得分:2)

Cloneable界面未定义任何方法 protected Object clone()java.lang.Object中的一种方法,如果该类未实现Cloneable,则会抛出异常。

答案 2 :(得分:2)

Cloneable未声明任何方法:)

您正在考虑Object,它确实声明了clone()方法。

答案 3 :(得分:2)

Cloneablemarker interface,它没有任何方法。

clone方法在Object类中,因为Java中的所有对象都隐式地扩展了Object,因此即使它受到保护也是可用的。

如果一个类没有实现Cloneable并且它的克隆方法被调用,它将抛出CloneNotSupportedException