Java中的标记或标记接口是什么?

当父接口不包含任何方法时,将发生扩展接口的最常见用法。例如,java.awt.event包中的MouseListener接口扩展了java.util.EventListener,其定义为-

示例

package java.util;
public interface EventListener{ }

其中没有方法的接口称为标记接口。标记接口有两个基本设计目的。

  • 创建一个公共父类-与EventListener接口一样,它通过Java API中的数十个其他接口进行了扩展,您可以使用标记接口在一组接口之间创建一个公共父类。例如,当接口扩展EventListener时,JVM知道该特定接口将在事件委托场景中使用。

  • 将数据类型添加到类中-这种情况是术语“标签”的来源。实现标记接口的类不需要定义任何方法(因为该接口没有任何方法),但是该类通过多态性成为接口类型。