标记接口在 Java 中的用途是什么?

2022-08-31 16:31:32

当在标记接口中没有要实现的内容时,例如实现它有什么用?Serializable


答案 1

Joshua Bloch: Effective Java 2nd Edition, p 179

项目 37:使用标记接口定义类型

...您可能会听到有人说,标记注释(项目 35)使标记接口过时。这种说法是不正确的。与标记批注相比,标记接口具有两个优点。首先,标记接口定义了由标记类的实例实现的类型;标记批注则不然。这种类型的存在允许您在编译时捕获错误,如果您使用标记注释,则在运行时之前无法捕获这些错误。

就我个人而言,我想我会屈服于约书亚在这个问题上的卓越知识。


答案 2

在早期版本的 Java 中,标记接口是声明类元数据的唯一方法。例如,可序列化的标记接口允许类的作者说,他们的类在序列化和反序列化时将正确运行。

在现代Java中,标记接口没有位置。它们可以完全被注释取代,从而允许非常灵活的元数据功能。如果您有关于某个类的信息,并且该信息永远不会更改,则注释是表示该类的一种非常有用的方法。


推荐