【问题标题】:Java Marker Interface [duplicate]Java标记接口[重复]
【发布时间】:2011-02-05 18:30:23
【问题描述】:

可能重复:
marker interface

由于没有方法,Marker 接口如何工作?

【问题讨论】:

  • 在发布任何问题之前,请彻底搜索stackoverflow。由于可能重复,您的问题可能会被版主删除!

标签: java


【解决方案1】:

标记接口就是这样 - 标记。

它们允许代码检查(和其他)工具查看代码并找到任何“实现”标记接口的类并对其进行处理。

这可能是编译器或第三方工具,它们可能会根据标记接口的存在而更改或生成某些代码。

【讨论】:

    【解决方案2】:

    这不是应该使用接口的常用方式,但在某些情况下它可能很有用。

    您这样做的唯一原因是,如果您想存储有关您的类的元数据,并希望使用类型检查系统来执行基于元数据的一些规则。

    例如,对于Serializable 接口,您基本上说实现该接口的类的实例是可序列化的,仅此而已 - 您只需说出来,并留给其他一些机制来处理它。

    现在,随着 Java 的更新版本,我们可以使用更复杂的 注解 机制来做同样的事情(尽管它们不是由类型系统强制执行的)。

    【讨论】:

      【解决方案3】:

      就像一个普通的接口:)它通常没有方法,它只是用于标记。我们以Serializable 为例。在通过网络发送对象之前,Java 检查该类是否实现了此标记接口。如果不是,则抛出异常。它的目的更适合注释。

      【讨论】:

        猜你喜欢
        • 2012-04-09
        • 1970-01-01
        • 1970-01-01
        • 2016-06-24
        • 2018-01-16
        • 2012-11-27
        • 1970-01-01
        • 2012-10-28
        • 2019-07-13
        相关资源
        最近更新 更多