为什么 Java 中不存在注解继承
尽管继承在 Java 类中很流行,但注解仍然是这种范例的一个例外。这个问题探讨了这个设计决策背后的基本原理,特别是在出于验证目的而导航注释层次结构的背景下。
排除注释继承的主要动机,如 JSR 175 设计常见问题解答中所述,在于保持简单性以及注释类型系统的可访问性。继承会带来复杂性,可能会阻碍“特定工具”的开发和维护。
这些“特定工具”是指在外部程序中检查和处理注释的程序,而不需要将它们加载到虚拟机中。示例包括基于注释的存根生成器。通过限制注释子类型,Java 确保这些实用程序能够可靠地确定注释的存在和属性,而无需类加载的开销。
虽然注释继承的缺失引起了批评,但值得注意的是 JDK团队正在 JSR 308 下积极探索这个问题。此外,Mathias Ricken 还发布了一个引入此功能的替代编译器,表明注释继承的大门可能尚未完全关闭。
以上是为什么Java禁止注解继承?的详细内容。更多信息请关注PHP中文网其他相关文章!