1

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

4

4 回答 4

2

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

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

于 2012-05-09T23:04:59.770 回答
2

Cloneable接口没有定义任何方法。
protected Object clone()是 中的一个方法java.lang.Object,如果该类没有实现,则抛出异常Cloneable

于 2012-05-09T23:05:05.650 回答
2

没有Cloneable声明任何方法:)

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

于 2012-05-09T23:05:18.357 回答
2

Cloneable是一个标记接口,它没有任何方法。

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

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

于 2012-05-09T23:06:36.410 回答