Блог
Меню сайта

Форма входа

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Календарь
«  Декабрь 2013  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
3031

Приветствую Вас, Гость · RSS 18.04.2024, 19:28

Главная » 2013 » Декабрь » 12 » Аннотации в Java
12:08
Аннотации в Java

Аннотация – это функциональность  языка программирования Java появившейся в версии 2 5.0, который с ее помощью можно внедрять дополнительную информацию в исходный код. Эта информация, именуемая аннотациями или примечаниями (annotations), не изменяет алгоритм работы программы. Таким образом, аннотации оставляют семантику программы неизменной. Но эта информация может использоваться различными программными средствами, как во время разработки, так и во время установки программы. Например, аннотации могут обрабатываться генератором исходного кода. Хотя компания Sun называет это новое средство метаданными, более информативный термин "возможность аннотирования программ" так же применяется. 


Метаданные реализованы с помощью средств, основанных на интерфейсах. Начнем с примера. В следующих строках приведено объявление аннотации с именем MyAnnо:

@interface MyAnno {
  String str();
  int val();
}

Во-первых, обратите внимание на то, что ключевому слову interfaceпредшествует символ @. Такая запись сообщает компилятору об объявлении аннотации. В объявлении также есть два метода-члена: String str() и int val (). Все аннотации содержат только объявления методов, но вы не должны добавлять тела этим методам. Их реализует язык Java. Кроме того, как Вы увидите, эти методы действуют скорее как поля.

Все типы аннотаций автоматически расширяют интерфейс Annotation. Следовательно, тип Annotation служит суперинтерфейсом для всех аннотаций. Он объявлен в пакете java.lang.annotation, В этом интерфейсе перегружены методы: hashCode(), equals () иtoString(), определенные в типе Object. В нем также определен метод annotationType(), который возвращает объект типа class, представляющий вызывающую аннотацию.
После того как Вы объявили аннотацию, Вы можете использовать ее для включения примечаний в объявления. Объявление любого типа может иметь аннотацию, связанную с ним. Например, можно снабжать примечаниями классы, методы, поля, параметры и константы типа enum. Даже к аннотации можно добавить аннотацию. Во всех случаях аннотация предшествует объявлению.
Когда Вы применяете аннотацию, Вы задаете значения для ее методов-членов. Далее приведен фрагмент, в котором аннотация MуАnnосопровождает объявление метода:

  // Аннотация для метода,
@MyAnno(str = "Annotation Example", val = 100)
public static void myMeth{) {

Приведенная аннотация связана с методом myMeth(). Рассмотрим внимательно синтаксис аннотации. За именем аннотации, начинающимся с символа @, следует заключенный в круглые скобки список инициализирующих значений для методов-членов. Для того чтобы передать значение методу-члену, имени этого метода присваивается значение. Таким образом, в приведенном фрагменте строка "Annotation Example" (Пример аннотации) присваивается методу str, члену аннотации типа MyАnnо. При этом в присваивании после имени str нет круглых скобок. Когда методу-члену передается инициализирующее значение, используется только имя метода. Следовательно, в данном контексте методы-члены выглядят как поля.
Просмотров: 1818 | Добавил: livebook | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Copyright exshark © 2024
Сделать бесплатный сайт с uCoz