Giriş
Şu satırı dahil ederiz.
Bu arayüzün tanımı şöyledir.
3 tane değer alır.
1.CLASS
Açıklaması şöyle. Varsayılan (default) değerdir.
Açıklaması şöyle. Sadece kaynak kodda bulunur. Java Annotation Processing (APT) plugin'leri tarafından kod işlenerek anotasyonlara göre yeni kod üretilir.
Açıklaması şöyle. En geniş değerdir. Hem derleme hem de çalışma esnasında mevcuttur.
Şöyle yaparız.
Şu satırı dahil ederiz.
import java.lang.annotation.Retention;
Açıklaması şöyle. @Target Anotasyonu yazısına bakabilirsiniz.
>Creating an annotation requires two pieces of information: (1) a retention policy and (2) a target.Örnek
A retention policy specifies how long, in terms of the program lifecycle, the annotation should be retained for.
...
The target of an annotation specifies which Java constructs an annotation can be applied to.
Bu arayüzün tanımı şöyledir.
package java.lang.annotation;
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Retention {
/**
* Returns the retention policy.
* @return the retention policy
*/
RetentionPolicy value();
}
RetentionPolicy3 tane değer alır.
1.CLASS
Açıklaması şöyle. Varsayılan (default) değerdir.
Annotations are recorded in the class file generated by the compiler but are not required to be retained by the Java Virtual Machine (JVM) that processes the class file at runtime2.SOURCE
Açıklaması şöyle. Sadece kaynak kodda bulunur. Java Annotation Processing (APT) plugin'leri tarafından kod işlenerek anotasyonlara göre yeni kod üretilir.
Annotations are discarded by the compiler3. RUNTIME
Açıklaması şöyle. En geniş değerdir. Hem derleme hem de çalışma esnasında mevcuttur.
Annotations are recorded in the class file by the compiler and retained at runtime by the JVMÖrnek
Şöyle yaparız.
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
public @interface MyAnnotation {
}
Hiç yorum yok:
Yorum Gönder