哪个类会抛出 CloneNotSupportedException?或者在哪里检查instanceof Cloneable?

问题描述 投票:0回答:1

要克隆类的对象,我们实现

Cloneable
接口,并重写
clone()
方法:

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

上面

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

如果出现

Serializable
,则
instanceof
检查在
ObjectOutputStream
类中完成。同样,我试图找出编译器在哪里检查该对象是否是
Cloneable
的实例? 检查是在本地执行的吗?

java native cloneable
1个回答
0
投票

如果编译器已经是

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

© www.soinside.com 2019 - 2024. All rights reserved.