9

谁能详细说明Java中Null接口和Marker接口之间的核心区别是什么。我在一次采访中被问到这个问题。

谢谢。

4

5 回答 5

8

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

这些只是接口,其中没有方法。标记接口的示例有:SerializableCloneable

于 2013-06-27T11:51:46.970 回答
3

空接口是标记接口的别称。这样的接口是空的,即没有任何方法声明。

例如 java 中的 Serializable、Cloneable 类。在 Java 的早期版本中,标记接口是声明类元数据的唯一方法

于 2013-06-27T11:51:14.347 回答
1

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

于 2013-06-27T11:50:28.150 回答
1

空接口是标记接口的例子。

接口是不同的类型。主要是扩展接口、markble接口和marker接口。

标记接口和其他标记接口的区别在于标记接口没有方法。示例是;-可序列化--用于序列化。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");
}
}
}
于 2013-06-27T11:52:33.260 回答
1

Null 接口和 Marker 接口是一样的。两者都意味着空接口。Marker 或 Null 接口没有方法,通过实现该接口对象将获得一些能力。例如,通过实现 Serialisable 接口,我们的对象可以保存到文件中并可以通过网络传输。

于 2019-04-23T10:13:16.777 回答