Назад к вопросам
Junior — Middle
66
Каким образом определить аннотацию, применимую исключительно к классам?
Ответ от нейросети
sobes.tech AI
Чтобы определить аннотацию (annotation) в Java, применимую только к классам, нужно использовать мета-аннотацию @Target с параметром ElementType.TYPE. Это ограничит область применения аннотации классами, интерфейсами, перечислениями и аннотациями.
Пример определения такой аннотации:
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@Target(ElementType.TYPE) // применимо только к классам, интерфейсам, enum и аннотациям
@Retention(RetentionPolicy.RUNTIME) // доступна во время выполнения
public @interface MyClassAnnotation {
String value() default "";
}
Теперь @MyClassAnnotation можно ставить только над объявлением класса, интерфейса или enum, но не над методами или полями.