我知道注释既不能被继承,也不能被子类包含父级注释。但是,我有一个简单的场景。假设我有N个类,如A,B,C,D ...... N.
A是超类,B,C,D ...... N是子类,也就是A.So的子类,如果我需要继承这些这些类,我需要按照以下方式进行:
class B extends A {
//code
}
class C extends A {
//code
}
......
class N extends A {
//code
}
所以我需要手动扩展A类N次。
现在,我的问题是我不能像注释一样创建 @ParentIsClassA ,子级别类会自动扩展A类吗?
我想要实现的示例代码如下:
@ParentIsClassA
class B {
//code
}
@ParentIsClassA
class N {
//code
}
答案 0 :(得分:3)
注释通常无法在Java中修改类的编译。 (Lombok使用特殊且易碎的编译器钩子; Groovy AST可以做你正在谈论的事情。)
那说,为什么?您仍然必须像extends
子句一样插入该注释,然后您就会遇到IDE无法理解关系的问题。只需使用普通继承,不要混淆你的工具和其他程序员。
您可能也对the @Inherited
meta-annotation感兴趣。