要克隆类的对象,我们实现Cloneable接口,并覆盖克隆方法:
protected Object clone() throws CloneNotSupportedException{
return super.clone();
}
上面的super.clone()调用了Object的本机API clone()。
在Serializable的情况下,instanceof检查在ObjectOutputStream类中完成。同样,我试图找出编译器在哪里检查对象是否是Cloneable的实例?检查是原生的吗?
答案 0 :(得分:0)
如果编译器已经是Object
类的克隆实现,为什么编译器会检查它。该例外涉及需要实现Cloneable
以提供其他服务的其他实现。实际上,序列化需要Serializable
实现。然后,用户可以选择/调整所需的Cloneable
实施。