簡體   English   中英

我可以為具有特定注釋的類創建通用接口嗎?

[英]Can I make a generic interface for classes that have a specific annotation?

我想知道是否有一種方法可以創建一個通用接口,該接口可以在類級別具有特定注釋的所有類中實現。

例如:

@XmlRootElement
公共類訂閱{...}

@XmlRootElement
公共類作者{...}

我想創建一個適用於這兩個類的通用接口(並且以后還會更多)。 有沒有辦法做到這一點?

接口和繼承用於沿繼承圖“垂直”傳播功能。

注釋是針對可以附加到類,方法等上的附加功能,實際上與接口無關。

如果您事先知道您的類是什么以及它們之間的關系,您可能根本不需要注釋。 這樣做的原因是,您可以使它們實現標記接口( java.io.Serializable是它們的一個示例),它們實際上與類級別的批注相同(沒有參數),但使用起來更容易。

使用標准Java是不可能的,但是您可以使用AspectJ Inter-type聲明

例如,這方面將向每個以@XmlRootElement類添加WhatEverInterface和@XmlRootElement

public aspect MyAspect {
   declare parents: (@XmlRootElement) implements WhatEverInterface;

    public void WhatEverInterface.doSomething() {
       System.out.println("something");
    } 
}

就這么簡單:

interface XmlProcessor
{
    public void process(XmlRootElement root);
}

暫無
暫無

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

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