2016-08-25 103 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的一些代碼示例,我可以這樣做嗎? –