Встречается на собеседованиях • сегодня

Как создать аннотацию, применимую только на уровне классов

Для создания аннотации, применяемой только к классам, нужно использовать мета-аннотацию @Target с параметром ElementType.TYPE. Пример:

java
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.TYPE) // Применяется только к классам
@Retention(RetentionPolicy.RUNTIME) // Доступна в runtime
public @interface ClassOnlyAnnotation {
String value() default "";
}

text

Использование:
```java
@ClassOnlyAnnotation("Example")
public class MyClass {
    // Класс с аннотацией
}

Ключевые моменты:

  1. ElementType.TYPE ограничивает применение аннотации только классами, интерфейсами, enum'ами
  2. Можно добавить другие ElementType если нужно расширить область применения
  3. RetentionPolicy определяет жизненный цикл аннотации (SOURCE, CLASS, RUNTIME)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы