空与标记接口

时间:2013-06-27 11:47:52

标签: java marker-interfaces

任何人都可以详细说明Java中Null接口和Marker接口之间的核心区别是什么。我在其中一次采访中被问过这个问题。

感谢。

5 个答案:

答案 0 :(得分:6)

空接口只是标记接口的另一个名称,反之亦然。据我所知,它们可以互换使用。

这些只是界面,没有方法。标记接口的示例包括:SerializableCloneable

答案 1 :(得分:3)

Null接口是标记接口的另一个名称。这样的接口是空的,即没有任何方法声明。

例如java中的Serializable,Cloneable类。在早期版本的Java中,标记接口是声明有关类

的元数据的唯一方法

答案 2 :(得分:1)

null接口是标记接口,它们中没有函数声明,它们是空接口,这是为了传达编译器必须区别对待它们。

答案 3 :(得分:0)

Null接口是标记接口的示例。

界面是不同的类型。主要是扩展接口,标记接口和标记接口。

标记接口和其他标记的区别在于标记接口没有方法。例如: - 可服用 - 用于序列化。 remote - 用于远程方法通信。您的远程接口必须扩展此标记接口。当您的远程接口扩展标记接口时,它将被称为扩展接口。

他们只是告诉编译器需要区别对待此类的对象。一些标记接口是:Serializable,Remote,Cloneable

代码:

interface markerImp 
{


}

class MarkerTest implements markerImp
{

}

public class TestInstanceOf 
{

public static void main(String []args)
{
    MarkerTest mt = new MarkerTest();
    if(mt instanceof markerImp)
{
    System.out.println("True");
}
else
{
    System.out.println("False");
}
}
}

答案 4 :(得分:0)

Null接口和Marker接口相同。两者都意味着空接口。 Marker或Null接口没有方法,并且通过实现该接口对象将具有一定的能力。例如,通过实现Serialisable接口,我们的对象可以保存到文件中并可以在网络上传播。

相关问题