标记接口是没有包含方法声明的接口,而只是指明一个类实现了具有某种属性的接口。考虑Serializable接口,通过实现这个接口,类表明它的实例可以被写到ObjectOutputStream。
标记接口相比标记注解的优点:
1.标记接口定义的类型是由被标记类的实例实现的;标记注解则没有定义这样的类型。
2. 可以被更精确地进行锁定。如果注解类型利用@Target(ElementType.TYPE)声明,它就可以被应用到任何类或者接口,假设有一个标记只是适用于特殊的接口实现,但它却可以被应用到类,如果定义成一个标记接口,就可以用它将唯一的接口扩展成适用的接口。
总之,如果想要定义类型,一定要使用接口。