Java中的自定义标记接口

时间:2019-02-19 20:35:18

标签: java serialization polymorphism cloneable marker-interfaces

由于Serializable和Cloneable是标记接口(没有任何方法的接口),因此,如果我们创建自己的标记接口,那么这两者之间会有什么区别。

1 个答案:

答案 0 :(得分:0)

SerializableCloneable是标准接口。它们都属于“受保护的”程序包(这意味着您不能向它们添加类-可以,但是您每天都不会这样做)。

java.io.Serializable
java.lang.Cloneable

它们在运行时被JVM识别。
例如,在未实现clone()的对象上调用Cloneable会抛出

java.lang.CloneNotSupportedException

您可能希望将标记界面用于自定义运行时检查,甚至用于编译时处理。但是,推荐的方法是使用注释