有没有办法在特定类的子类中强制使用特定的Java注释

有没有办法在特定类的子类中强制使用特定的Java注释,java,spring-boot,annotations,spring-annotations,java-annotations,Java,Spring Boot,Annotations,Spring Annotations,Java Annotations,我不是Java注释方面的超级专家,我想知道是否有办法确保给定特定类的子类,该子类必须在类定义本身上使用特定的Java注释,否则代码将无法编译 谢谢 是我认为没有办法强制开发人员在子类上添加注释 但是,您可以在父类上添加所需的注释,其子类将“自动”拥有注释,而无需显式指定 @RequiredAnnotations class Parent{ //... } // it will have @RequiredAnnotations without specifying class Chil

我不是Java注释方面的超级专家,我想知道是否有办法确保给定特定类的子类,该子类必须在类定义本身上使用特定的Java注释,否则代码将无法编译

谢谢

我认为没有办法强制开发人员在子类上添加注释

但是,您可以在父类上添加所需的注释,其子类将“自动”拥有注释,而无需显式指定

@RequiredAnnotations
class Parent{
    //...
}

// it will have @RequiredAnnotations without specifying
class Child extend Parent{
    //...
}
它与接口具体类抽象类继承一起工作


正如Pedro所指出的那样,
@RequiredAnnotation
需要
@Inherited
才能工作。

@Inherited
有助于实现这一点。只有使用“@inherited”对注释进行注释时,注释才会被继承。以“@Deprecated”为例,如果不是,请尝试在子类上调用getAnnotations(),您将不会发现@Deprecated