2016-08-25 67 views
1

我知道注解既不能继承,也不能包含父级注释。但是,我有一个简单的场景。假设,我有N个类,如A,B,C,D ...... N。
A是父类和B,C,d .... N为孩子们即A.So的子类,如果我需要的传承这些这些类我需要做的是在以下方式:在Java8中的注释继承

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 
} 
+1

我不知道它是否可行,但它肯定似乎是一个坏主意,它使代码不那么明显,如果你打算少打字,你想要的版本实际上更长。 – comodoro

回答

3

注解通常不能在Java中修改类的编译。 (龙目使用特殊和脆弱的编译器钩子; Groovy ASTs可以做你正在谈论的东西。)

那就是说,为什么?您仍然必须插入注释,就像extends条款一样,然后您遇到IDE不理解关系的问题。只要使用正常的继承,不要混淆你的工具和其他程序员。您可能也有兴趣the @Inherited meta-annotation

+0

感谢您的建议....可以请你分享@Inherited的一些代码示例,我可以这样做吗? –