1

为了克隆一个类的对象,我们实现了 Cloneable 接口,并重写了 clone 方法:

protected Object clone() throws CloneNotSupportedException{
        return super.clone();
    }

上面的 super.clone() 调用了 Object 的原生 API clone()。

在 Serializable 的情况下,instanceof 检查在 ObjectOutputStream 类中完成。同样,我试图找出编译器在哪里检查对象是否是可克隆的实例?检查是否在本地执行?

4

1 回答 1

0

如果它已经是类的克隆实现,为什么编译器要检查它Object。例外情况与需要Cloneable实现以提供其他服务的其他实现有关。实际上序列化需要一个Serializable实现。然后用户可以选择/调整Cloneable所需的实现。

于 2014-06-08T12:14:49.250 回答