我想知道是否有一種方法可以製作一個通用的接口,並且可以在類級別上具有特定註釋的所有類中實現。
例如:
我可以爲具有特定註釋的類製作通用接口嗎?
@XmlRootElement
公共類認購{...}
@XmlRootElement
公共類作者{...}
我想打一個適用於這兩個類的通用接口(以及更多)。 有沒有辦法做到這一點?
我想知道是否有一種方法可以製作一個通用的接口,並且可以在類級別上具有特定註釋的所有類中實現。
例如:
我可以爲具有特定註釋的類製作通用接口嗎?
@XmlRootElement
公共類認購{...}
@XmlRootElement
公共類作者{...}
我想打一個適用於這兩個類的通用接口(以及更多)。 有沒有辦法做到這一點?
接口和繼承用於傳播功能「垂直」,向下繼承圖。
註解是用於附加功能,可以固定到類,方法等等,並且實際上與接口無關。
如果您事先知道您的課程將是什麼以及它們將如何相互關聯,那麼您可能根本不需要註釋。原因是你可以讓它們實現標記接口(java.io.Serializable
就是其中的一個例子),它們幾乎與類級別的註釋(沒有參數)相同,除了更容易處理。
這是不可能與標準的Java,但您可以使用AspectJ Inter-type declarations。
例如,這方面,將添加WhatEverInterface和implmentation每個類與@XmlRootElement
anototated。
public aspect MyAspect {
declare parents: (@XmlRootElement) implements WhatEverInterface;
public void WhatEverInterface.doSomething() {
System.out.println("something");
}
}
它的那樣簡單的:
interface XmlProcessor
{
public void process(XmlRootElement root);
}
+0:這將允許您處理註釋,但不能處理它所屬的類。 – 2011-03-22 13:23:30
接口應該要求類實現的是什麼?註釋?一些方法? – justkt 2011-03-22 13:11:03
您可以將接口添加到所有具有註釋的類,但是您是否期望a)自動完成此操作b)執行一些有用的操作? – 2011-03-22 13:13:26