[英]Using Java annotations with Java interface implementations in Scala
[英]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.