标记接口是一个没有任何成员的接口。可序列化就是一个例子。
我们可以定义自己的标记界面吗。如果是,我们如何定义它的功能。?
标记接口模式(来自维基百科文章)提供了一种将元数据与该语言没有显式支持此类元数据的类相关联的方法。例如java.io.Serializable
。类实现 Serializable
接口,以指示其非瞬态数据成员可以写入 ObjectOutputStream
。
为什么不呢?但它与JVM无关。
interface MarkerInterface { }
class MarkerInterfaceImpl implements MarkerInterface {
...
}
public class MarkerInterfaceDemo {
public static void main(String[] args){
MarkerInterfaceImpl markerInterfaceImpl = new MarkerInterfaceImpl()[
if(markerInterfaceImpl instanceOf MarkerInterface) {
...
}
}
}
问题内容: 当在标记界面中没有什么要实现的东西时,实现它有什么用? 问题答案: 在Java的早期版本中,标记接口是声明有关类的元数据的唯一方法。例如,可序列化标记接口使类的作者可以说他们的类在进行序列化和反序列化时将表现正确。 在现代Java中,标记接口没有位置。它们可以完全由Annotations代替,从而具有非常灵活的元数据功能。如果你具有有关类的信息,并且该信息永不更改,则注释是表示它的非常
我被告知Java中的标记接口是一个空接口,用于向编译器或JVM发出信号,表明实现此接口的类的对象必须以特殊方式处理,如序列化、克隆等。 但是最近我了解到,它实际上与编译器或JVM无关。例如,在< code>Serializable接口的情况下,< code>ObjectOutputStream的方法< code>writeObject(Object)执行类似于< code > instance o
本文向大家介绍Java中的Null到底是什么,包括了Java中的Null到底是什么的使用技巧和注意事项,需要的朋友参考一下 前言 对于Java程序员来说,null是令人头痛的东西。时常会受到空指针异常(NPE)的骚扰。连Java的发明者都承认这是他的一项巨大失误。Java为什么要保留null呢?null出现有一段时间了,并且我认为Java发明者知道null与它解决的问题相比带来了更多的麻烦,但是n
问题内容: 标记接口是什么?它们的作用是什么? 问题答案: 因为有时候,想到类型的某些属性可以用作类型本身确实很有意义。如果我做这样的方法: …您真的不知道该如何保存。VM序列化?Bean属性序列化?一些自制的方案?而如果您这样写: …非常清楚(如果只有的设计师使用过这种可能性!)。有时,当您想向类型添加元数据时,可以使用注释,但是在这种情况下,我建议使用标记接口。
问题内容: 与这个问题相对应:Java中的接口是什么? 问题答案: 接口是抽象类的一种特殊形式,它不实现任何方法。在Java中,你可以这样创建一个接口: 由于该接口无法实现任何方法,因此这意味着整个事物(包括所有方法)都是公共的和抽象的(Java术语中的抽象含义是“未由此类实现”)。因此,上面的接口与下面的接口相同: 要使用此接口,你只需要实现该接口。许多类可以实现一个接口,而一个类可以实现许多接
问题内容: 一位同事问我有关Java API中的类的问题。 按照标准,我确实理解,每个* able结尾的单词都是java API中的接口。有一个关于使用诸如接口名称之类的行业标准。因此,我在不知不觉中告诉他有关Java世界中所有异常和错误类型的基本接口。然后,他向我展示了此类的Java文件。 我的问题: 为什么Java人选择此名称作为类。我认为默认情况下应该是接口? 这是使用* able单词作为界