Java中的标记接口
标记接口是没有声明任何方法的接口。
当父接口不包含任何方法时,将发生扩展接口的最常见用法。例如,java.awt.event包中的MouseListener接口扩展了java.util.EventListener,其定义为-
示例
package java.util; public interface EventListener{ }
其中没有方法的接口称为标记接口。标记接口有两个基本设计目的。
创建一个公共父对象 -与EventListener接口一样,该接口通过JavaAPI中的许多其他接口进行了扩展,您可以使用标记接口在一组接口之间创建一个公共父对象。例如,当接口扩展EventListener时,JVM知道该特定接口将在事件委托场景中使用。
将数据类型添加到类中 -这种情况是术语“标签”的来源。实现标记接口的类不需要定义任何方法(因为该接口没有任何方法),但是该类通过多态性成为接口类型。