Анотації в 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 >

Напишіть перше повідомлення!

Ви повинні увійти під своїм аккаунтом щоб залишати коментарі