有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java中的标记接口

标记接口是什么?它们的用途是什么


共 (6) 个答案

  1. # 1 楼答案

    因为有时候,如果某个类型的某个属性可以用作类型本身,那么它确实是有意义的。如果我用这样的方法:

    public void save(Object data){ ... }
    

    。。。你真的不知道data将如何保存。虚拟机序列化?Bean属性序列化?一些自制的计划?如果你这样写:

    public void save(Serializable data){ ... }
    

    。。。这很清楚(如果ObjectOutputStream的设计师使用了这种可能性就好了!)。有时,当您想向类型添加元数据时,使用注释是有意义的,但在这种情况下,我主张使用标记接口

  2. # 2 楼答案

    除了其他答案之外,标记接口还可以用于指定类的其他属性,这些属性不是由其他一些已经实现的接口继承的。其中一个例子是接口RandomAccess。它表示可以在不损失性能的情况下随机访问的集合,并且不必通过迭代器访问以实现该性能

  3. # 3 楼答案

    标记接口通常有一些与之相关的魔力:要么直接内置到VM中,要么使用反射。因为魔法在技术上可以应用于任何类,所以你可以使用标签来表示你对魔法的想法很好,以及它是否适用于你的类

  4. # 4 楼答案

    它用于提到类的某些属性(比如Serializable shows,该类可以序列化)。现在注释可以完成这项工作

  5. # 5 楼答案

    你可以用一个标记接口来标记你的类,告诉你的同类开发者和使用者你明确地支持这个功能。想想可序列化;需要持久化会话并使用序列化的人可以安全地使用类的对象

    它可以进一步用于反射;如今,使用注释来实现这一点是很常见的,但在过去,你可以检查一个类,检查它是否实现了某个接口(比如DAO),如果实现了,则进一步处理对象(我在这里考虑实体注释)

  6. # 6 楼答案

    Bloch的“有效Java”中讨论了标记接口与注释的问题,该部分内容可在google books here上找到