【发布时间】:2019-03-20 20:45:53
【问题描述】:
我有一个要克隆其对象的类。我通过实现 Cloneable 接口并覆盖 clone 方法来做到这一点。但是,如果我正在创建一个克隆方法,而没有实现 Cloneable 接口,则会引发异常。 这个标记接口(可克隆)为我的班级提供了什么超能力?
【问题讨论】:
-
Serializable将对象写入磁盘的方式相同,尽管它是一个标记接口。 -
This answer to the duplicate 解释了实现
Cloneable的工作原理。界面只是简单地告诉 nativeObject.clone方法,“嘿,你可以克隆我”。如果没有接口,该方法将拒绝克隆对象(通过抛出异常)。正如 Elliot 所说,这类似于Serializable的使用方式。
标签: java clone cloneable marker-interfaces