Java中的自定义标记接口
Posted
技术标签:
【中文标题】Java中的自定义标记接口【英文标题】:Custom Marker Interface in Java 【发布时间】:2019-07-13 10:40:29 【问题描述】:由于 Serializable 和 Cloneable 是标记接口(没有任何方法的接口),所以如果我们创建自己的标记接口,那么这两者之间会有什么区别。
【问题讨论】:
我的回答是否可以接受,或者您需要其他说明吗? 【参考方案1】:Serializable
和 Cloneable
是标准接口。它们都属于“受保护”的包(这意味着你不能向它们添加类——你可以,但这不是你每天都做的事情)。
java.io.Serializable
java.lang.Cloneable
它们在运行时被 JVM 识别。
例如,在没有实现 Cloneable
的对象上调用 clone()
会抛出一个
java.lang.CloneNotSupportedException
您可能希望将标记接口用于自定义运行时检查,甚至用于编译时处理。但是推荐的方法是使用注解。
【讨论】:
你写的是对的,但是如果我们创建我们的自定义标记界面。它们还将在运行时被 JVM 识别,即使我们绑定了程序,如果它包含我们的自定义标记接口的实例,则执行此工作。那么两者会有什么区别...... @SumitSingh mmh 我想我错过了你的观点。你能写一个你想做的例子吗?以上是关于Java中的自定义标记接口的主要内容,如果未能解决你的问题,请参考以下文章
什么是Java Marker Interface(标记接口)
什么是Java Marker Interface(标记接口)