java - 为什么 tagged 或 Marker 接口(interface)会被 JVM 特殊对待

标签 java interface

我有一个问题,我进行了搜索,得到了很多答案。我不确定哪个是真的。 请任何人解释一下。为什么标记接口(interface)会被 JVM 特别踩踏? 例子: 让我们采用其中没有任何方法的可序列化接口(interface),但 JVM 仍然不会抛出任何编译时异常。 JVM 如何处理此类接口(interface),当我们实现标记接口(interface)时会发生什么。

最佳答案

对于 jvm 来说,它们没有什么特别之处。不需要接口(interface)来定义任何方法。将一个实现空接口(interface)的类想象成一种将类标记为特定类型的方式,您可以在运行时使用 instanceof 轻松检查该类型。

除了这种类型信息外,它还可以用于强调类的高级方面,或快速识别具有特定属性的类(通过人工和自动化工具或 IDE)。

关于java - 为什么 tagged 或 Marker 接口(interface)会被 JVM 特殊对待,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13467918/

相关文章:

java - JVM 在 Java 对象相等性 (==) 中检查什么?

java - 将字符串替换为数组中的值

c# - 编程为接口(interface)或其他抽象类型

c++ - 在现代 CMake 中将界面库添加为 SYSTEM

C++接口(interface)声明/定义和使用

go - 实际使用接口(interface)所需的提示

java - hibernate 标准 : Joining table without a mapped association

java - 如何使用通配符在 Java 中复制通用集合

java - 如何在 Kotlin 的 Java 8 流上调用 collect(Collectors.toList())?

java - 这段代码中的接口(interface)如何工作?