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

Элемент аннотации

Элемент аннотации - это метод, объявленный внутри интерфейса аннотации. Он определяет параметр, который можно задать при использовании аннотации. Каждый элемент имеет имя и тип возвращаемого значения. Тип может быть примитивом, строкой, классом, перечислением, другой аннотацией или массивом этих типов. Если у элемента нет значения по умолчанию, его обязательно нужно указать при применении аннотации. В первом параметре мы передаем имя элемента, во втором - его значение.

Элементы аннотации не принимают аргументов. Они не могут объявлять throws. Возвращаемый тип ограничен допустимыми типами. Значение по умолчанию задается с помощью ключевого слова default.

Синтаксис

@interface AnnotationName { Type elementName(); Type elementName() default value; }

Пример

Объявим аннотацию с двумя элементами: value и count. У элемента count есть значение по умолчанию:

import java.lang.annotation.*; @Retention(RetentionPolicy.RUNTIME) @interface MyAnnotation { String value(); int count() default 1; } public class Main { public static void main(String[] args) { System.out.println("Аннотация объявлена"); } }

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

"Аннотация объявлена"

Пример

Применим аннотацию к классу, указав оба элемента:

import java.lang.annotation.*; @Retention(RetentionPolicy.RUNTIME) @interface MyAnnotation { String value(); int count() default 1; } @MyAnnotation(value = "abcde", count = 5) public class Main { public static void main(String[] args) { MyAnnotation ann = Main.class.getAnnotation(MyAnnotation.class); System.out.println(ann.value()); System.out.println(ann.count()); } }

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

"abcde" 5

Пример

Если у элемента есть значение по умолчанию, его можно не указывать. Также если элемент называется value, его можно записать без имени:

import java.lang.annotation.*; @Retention(RetentionPolicy.RUNTIME) @interface MyAnnotation { String value(); int count() default 1; } @MyAnnotation("12345") public class Main { public static void main(String[] args) { MyAnnotation ann = Main.class.getAnnotation(MyAnnotation.class); System.out.println(ann.value()); System.out.println(ann.count()); } }

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

"12345" 1

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

  • интерфейс Аннотация,
    который описывает создание аннотаций
  • элемент Значение по умолчанию,
    который задает значение элемента
  • аннотация Retention,
    которая управляет временем жизни аннотации
  • аннотация Target,
    которая указывает, куда можно применять аннотацию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить