什么是标记接口?

时间:2010-05-31 11:16:51

标签: c# java c++ oop

  

可能重复:
  What is the use of marker interfaces in Java?

什么是标记界面?为什么使用它们?

4 个答案:

答案 0 :(得分:6)

这意味着一个只有名称的界面。没有方法可供您实施。这是一种通过声明它属于类别而将您的课程置于特定类别的方法。我已经看到它用于异常层次结构,但我确信还有其他应用程序。

答案 1 :(得分:2)

所谓的标记接口是一个Java接口,它实际上并不定义任何字段。它仅用于“标记”支持某种功能的Java类 - 该类将自身标记为实现接口。例如,java.lang.Cloneable接口。

标记界面

在java语言编程中,没有方法的接口称为标记接口。标记接口是Serializable,Clonable,SingleThreadModel,Event listener。标记接口由类或其超类实现,以便添加一些功能。

e.g。假设您想要持久化(保存)对象的状态,那么您必须实现Serializable接口,否则编译器将抛出错误。为了更清楚地理解标记界面的概念,您应该再看一个例子。

假设接口Clonable既不是由名为Myclass的类实现的,也不是任何超类,那么在Myclass对象上调用方法clone()会产生错误。这意味着,要添加此功能,应该实现Clonable接口。虽然Clonable是一个空接口,但它提供了一个重要的功能。

答案 2 :(得分:0)

标记界面提供额外的功能。

他们没有身体。 它们是空的界面

答案 3 :(得分:0)

Java中的示例用法:

if (obj instanceof MarkerInterface) {
    // do marker interface related stuff
}