Аннотации в Java. @Retention

мая
21
2012
Метки: @retention annotation java

Содержание

Аннотация @Retention позволяет указать, в какой момент жизни программного кода будет доступна аннотация: только в исходном коде, в скомпилированном классе или во время выполнения программы.

Так, в примере указано, что аннотация будет доступна во время выполнения программы:


package com.seostella.annotation.def;

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

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Mammal {
	String sound();

	int color();
}

Возможные типы аннотации:

Все эти аннотации являются элементами перечисления java.lang.annotation.RetentionPolicy.

Немного пояснения к приведенным типам: SOURCE - этим типом стоит пользоваться если Вы хотите расширить исходный код, описанный аннотацией; CLASS - используйте этот тип если хотите добавить какие-то характеристики к классам (например, создать список классов, которые используют аннотацию) до выполнения программы; RUNTIME - является наиболее используемым типам так как видна во время выполнения кода и, соответственно, можно воспользоваться возможностями рефлексии.

Внимание! По умолчанию используется тип CLASS.

В следующей статье будет рассмотрена аннотация @Documented.

< Аннотации в Java. @Target Аннотации в Java. @Documented >

Напишите первое сообщение!

Вы должны войти под своим аккаунтом чтобы оставлять комментарии