Junior — Middle
93
Jak určit anotaci, která se vztahuje výhradně na třídy?
Odpověď od AI
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, но не над методами или полями.