簡體   English   中英

我們如何使接口注釋被實現所繼承?

[英]How can we make interface annotations be inherited by implementations?

例如,當我有一個接口時:

public interface Model {

    String toString();

}

我希望實現此接口的每個類都將使用以下注釋:

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)

因此,它在界面中將如下所示:

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public interface Model {

    String toString();

}

和一個測試類:

@XmlRootElement(name = "user")
public class User implements Model {

}

像這個例子這樣的東西是行不通的。 我該如何執行,帶有注釋的抽象類可能是解決方案?

先感謝您!

類從不從其實現的接口繼承注釋。 這樣指定的注釋可以從超類繼承,但這是注釋的特征,而不是默認的。 如果您嘗試使用的注釋恰好是可繼承的(您必須檢查它們的文檔),那么可以通過從一個公共的,帶注釋的超類派生所有模型類來使它們被繼承。

但是,實際上,顯式注釋每個類有什么不好? 它更清晰,而且比實現接口更詳細。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM