РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
129 of 1163 menu

Поле CONSTRUCTOR

Поле CONSTRUCTOR класса ElementType представляет собой константу перечисления, которая используется в аннотации Target. Когда вы указываете это поле в качестве значения для Target, вы сообщаете компилятору, что ваша пользовательская аннотация может быть применена только к конструкторам классов. Параметров у этого поля нет, оно является простой константой перечисления.

Синтаксис

ElementType.CONSTRUCTOR

Пример

Давайте создадим аннотацию, которая может применяться только к конструкторам:

import java.lang.annotation.ElementType; import java.lang.annotation.Target; @Target(ElementType.CONSTRUCTOR) @interface MyConstructorAnnotation { } public class Main { @MyConstructorAnnotation public Main() { } public static void main(String[] args) { System.out.println("Annotation applied to constructor"); } }

Результат выполнения кода:

"Annotation applied to constructor"

Пример

Давайте проверим, что аннотация с CONSTRUCTOR действительно доступна только для конструкторов. Попробуем применить её к полю и получим ошибку компиляции:

import java.lang.annotation.ElementType; import java.lang.annotation.Target; @Target(ElementType.CONSTRUCTOR) @interface MyConstructorAnnotation { } public class Main { @MyConstructorAnnotation private int value; public static void main(String[] args) { System.out.println("This code will not compile"); } }

В результате компиляции будет получена ошибка, так как аннотация MyConstructorAnnotation не может быть применена к полю.

Пример

Давайте посмотрим, как выглядит применение аннотации с CONSTRUCTOR к нескольким конструкторам в одном классе:

import java.lang.annotation.ElementType; import java.lang.annotation.Target; @Target(ElementType.CONSTRUCTOR) @interface Init { } public class Main { @Init public Main() { System.out.println("Default constructor"); } @Init public Main(int value) { System.out.println("Constructor with value: " + value); } public static void main(String[] args) { new Main(); new Main(5); } }

Результат выполнения кода:

"Default constructor" "Constructor with value: 5"

Смотрите также

  • класс ElementType,
    который содержит типы элементов аннотаций
  • аннотация Target,
    которая задаёт область применения аннотации
  • поле METHOD,
    которое указывает на применение к методам
  • поле FIELD,
    которое указывает на применение к полям
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить