我不明白为什么Java注释中没有继承,就像Java类一样.我认为这将非常有用.
例如:我想知道给定的注释是否是验证器.通过继承,我可以反复地浏览超类,以了解此注释是否扩展了ValidatorAnnotation.否则,我该怎样才能做到这一点?
那么,任何人都可以给我这个设计决定的理由吗?
我正在探索注释,并且发现某些注释似乎在它们之间具有层次结构.
我正在使用注释在后台为卡片生成代码.存在不同的卡类型(因此不同的代码和注释)但是在它们之间存在某些共同的元素,如名称.
@Target(value = {ElementType.TYPE})
public @interface Move extends Page{
String method1();
String method2();
}
Run Code Online (Sandbox Code Playgroud)
这将是常见的注释:
@Target(value = {ElementType.TYPE})
public @interface Page{
String method3();
}
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我希望Move继承方法3但是我得到一个警告,说扩展对注释无效.我试图让Annotation扩展一个共同的基础,但这不起作用.这是可能的还是只是一个设计问题?