我不明白为什么Java注释中没有继承,就像Java类一样.我认为这会非常有用.
例如:我想知道给定的注释是否是验证器.通过继承,我可以反射性地浏览超类,以了解此注释是否扩展了ValidatorAnnotation
.否则,我如何才能做到这一点?
那么,有人能给我这个设计决定的理由吗?
我不明白为什么Java注释中没有继承,就像Java类一样.我认为这会非常有用.
例如:我想知道给定的注释是否是验证器.通过继承,我可以反射性地浏览超类,以了解此注释是否扩展了ValidatorAnnotation
.否则,我如何才能做到这一点?
那么,有人能给我这个设计决定的理由吗?
关于它没有这样设计的原因,你可以在JSR 175个设计常见问题中找到答案,其中写道:
为什么不支持注释子类型(一种注释类型扩展另一种注释类型)?
这会使注释类型复杂化
…
"特定工具"——查询
所以,是的,我想,原因是它只是亲吻.无论如何,似乎这个问题(以及其他许多问题)正在作为JSR 308的一部分进行研究,你甚至可以找到Mathias Ricken已经开发的具有此功能的替代编译器.