Java 我可以在实现接口的类中做一些必要的注释吗?

Java 我可以在实现接口的类中做一些必要的注释吗?,java,Java,我有这个界面: public interface IDbTable extends Serializable { public int getId(); } 我需要强制所有实现IDbTable的类都有一个注释“@DatabaseTable”,并且类中至少有一个字段有“@DatabaseField”。 实现IDbTable的唯一方法如下所示: @DatabaseTable(tableName = "Something") public static class TestTable imp

我有这个界面:

public interface IDbTable extends Serializable
{
    public int getId();
}
我需要强制所有实现IDbTable的类都有一个注释“@DatabaseTable”,并且类中至少有一个字段有“@DatabaseField”。 实现IDbTable的唯一方法如下所示:

@DatabaseTable(tableName = "Something")
public static class TestTable implements IDbTable
{
            @DatabaseField
            public int id;

    public int getId()
    {
        return id;
    }
}
这在接口或继承中是可能的吗?
今天我有一个单元测试,它扫描所有的类并检查这些需求。这是一种好的做法吗?

为什么不使用注释处理来检查所需的注释在发送到框架时或在构建/部署时是否存在于类中。

根据Java文档,您不能将注释应用于将由实现类继承的接口:

指示注释类型是自动继承的。如果 继承的元批注存在于批注类型上 声明,用户查询类的注释类型 声明,而类声明对此没有注释 类型,则将自动查询该类的超类 注释类型。此过程将重复进行,直到生成注释为止 找到此类型的,或类层次结构(对象)的顶部为 达到。如果没有超类具有此类型的注释,则 查询将指示所讨论的类没有这样的注释

请注意,如果已注释的 类型用于注释除类以外的任何内容。还请注意 此元注释只会导致从中继承注释 超类已实现接口上的注释无效。


在我脑海中,单元测试方法是我想到的最好的方法。没有办法让这个需求产生错误?不必运行单元测试?单元测试似乎是meIt的一个大的解决方法,可以在运行时检查它,它适合您吗?但是请参阅一个库,该库说它允许接口的注释继承。