我正在从 C++ 迁移到 Java,并认为自己是 Java 菜鸟。我最近一直在查看一个庞大的代码库,其中有几个类型的示例 public class Myclass implements Cloneable{...}
而没有实现 clone
函数。我不明白这种模式的优点。有没有?如果您选择不实现 clone
功能,为什么要从 Cloneable
派生它?是否还有提供一些默认 clone
功能的 lombok 注释?
最佳答案
如果一个类没有实现 Cloneable
接口(interface),则在该类的实例上调用 clone
会导致 CloneNotSupportedException
。 java.lang.Object
已经实现了一个clone
方法(这个方法不是抽象的),所以不需要子类来实现它。 clone
java.lang.Object
的方法执行实例的浅拷贝。
关于没有实现的 Java Cloneable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41027058/