相关疑难解决方法(0)

为什么不能在Java中扩展注释?

我不明白为什么Java注释中没有继承,就像Java类一样.我认为这将非常有用.

例如:我想知道给定的注释是否是验证器.通过继承,我可以反复地浏览超类,以了解此注释是否扩展了ValidatorAnnotation.否则,我该怎样才能做到这一点?

那么,任何人都可以给我这个设计决定的理由吗?

java inheritance annotations

223
推荐指数
4
解决办法
9万
查看次数

为什么 JPMS 允许注释类型作为服务

在介绍 JPMS 服务时,Java 语言规范的 7.7.4 节指出“服务类型必须是类类型、接口类型或注释类型”。

我正在努力理解允许注释的意义。我的理解是服务的 JPMS 概念是我们期望在运行时选择实现的东西。看起来,为了有用,实现至少需要有可能是不同于标识所请求服务的原始类的东西。但我相信注释不能使用“扩展”,所以这永远不会发生?从那以后,我相信如果我尝试使用注释类型创建服务,我将不可避免地遇到这样一种情况,即服务查找可能返回的唯一内容,例如 SomeAnnotation。类将完全是 SomeAnnotation。这似乎毫无意义,所以我必须假设我错过了一些东西。

任何人都可以阐明这一点,也许可以提供注释如何成为“服务”的示例?

java java-9 java-annotations java-module

7
推荐指数
2
解决办法
118
查看次数