我正在从C++转向Java,自认为是Java新手。我最近看了一个庞大的代码库,其中有几个类似于
public class Myclass implements Cloneable{...}
的示例,但没有实现 clone
函数。我不理解这种模式的优势。有吗?如果你选择不实现 clone
函数,为什么要从 Cloneable
派生它?此外,是否有 lombok 注释可以提供一些默认 clone
函数?
Cloneable
是所谓的“标记接口”(marker interface)的一个例子。今天,它可能会使用注解进行标记,但在 Java 中那时并不存在注解。 - Jiri TousekCloneable
是一个旧的标记接口。正确而非常简单的答案就是“不要使用它”。没有人使用它。请参见http://www.artima.com/intv/bloch13.html,以获取对此类问题的良好、易于理解的答案,并帮助您进行迁移,请获取并翻阅《Effective Java》。 - pvg