Java:如何在类上强制注释?

Mar*_*ber 3 java abstract-class annotations

我有一个抽象类:

public abstract class AbstractItem
Run Code Online (Sandbox Code Playgroud)

和几个具体的类:

public class ConcreteItem1 extends AbstractItem
public class ConcreteItem2 extends AbstractItem
public class ConcreteItem3 extends AbstractItem
Run Code Online (Sandbox Code Playgroud)

我也有一个自定义注释:

@Target(value = ElementType.TYPE)
@Retention(value = RetentionPolicy.RUNTIME)
public @interface MyAnnotation
Run Code Online (Sandbox Code Playgroud)

如何强制我的ConcreteItems使用MyAnnotation?我可以在AbstractItem-Class中以某种方式定义它吗?

Ori*_*Dar 5

是:

放在@InheritedMyAnnotation之上

@Target(value = ElementType.TYPE)
@Retention(value = RetentionPolicy.RUNTIME)
@Inherited
public @interface MyAnnotation

@MyAnnotation
public abstract class AbstractItem
Run Code Online (Sandbox Code Playgroud)