@Inherited
. Это работает только для классов, переопределенные методы нужно аннотировать заново.Другой возможный смысл вопроса – наследование самих типов-аннотаций. Аннотация, как класс или интерфейс представляется в системе ссылочным типом, она тоже компилируется в .class-файл. Вы можете создать переменную с типом, скажем,
java.lang.Override
.Но в отличие от других ссылочных типов, объявление аннотации (
@interface
) не может иметь секций extends
или implements
. Это ограничение добавлено просто чтобы не усложнять систему типов. В скомпилированном коде все типы-аннотации – это интерфейсы, унаследованные от Annotation
.