|NO.Z.00087|——————————|BigDataEnd|——|Java&特殊類.V15|------------------------------------------------|Java.v15|元註解概念|@Retention使用|
阿新 • • 發佈:2022-04-03
[BigDataJava:Java&特殊類.V15] [BigDataJava.面向物件] [|章節五|特殊類|元註解的概念和@Retention的使用|]
一、元註解的概念和@Retention的使用
### --- 元註解的概念 ~~~ ——> 元註解是可以註解到註解上的註解,或者說元註解是一種基本註解, ~~~ ——> 但是它能夠應用到其它的註解上面。 ~~~ ——> 元註解主要有@Retention、@Documented、@Target、@Inherited、@Repeatable。
二、程式設計程式碼### --- 元註解@Retention ~~~ ——> @Retention 應用到一個註解上用於說明該註解的的生命週期,取值如下: ~~~ ——> RetentionPolicy.SOURCE 註解只在原始碼階段保留, ~~~ ——> 在編譯器進行編譯時它將被丟棄忽視。 ~~~ ——> RetentionPolicy.CLASS 註解只被保留到編譯進行的時候, ~~~ ——> 它並不會被載入到JVM 中,預設方式。 ~~~ ——> RetentionPolicy.RUNTIME 註解可以保留到程式執行的時候, ~~~ ——> 它會被載入進入到JVM 中,所以在程式執行時可以獲取到它們。
三、程式設計程式碼package com.yanqi.task10; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; //@Retention(RetentionPolicy.SOURCE) // 表示下面的註解在原始碼中有效 //@Retention(RetentionPolicy.CLASS) // 表示下面的註解在位元組碼檔案中有效,預設方式 @Retention(RetentionPolicy.RUNTIME) // 表示下面的註解在執行時有效 // 若一個註解中沒有任何的成員,則這樣的註解叫做標記註解/標識註解 public @interface MyAnnotation { //public Direction value(); // 宣告一個String型別的成員變數,名字為value 型別有要求 public String value() default "123"; // 宣告一個String型別的成員變數,名字為value public String value2(); }
package com.yanqi.task10;
// 表示將標籤MyAnnotation貼在Person類的程式碼中,使用註解時採用 成員引數名 = 成員引數值, ...
//@MyAnnotation(value = "hello", value2 = "world")
@MyAnnotation(value2 = "world")
public class Person {
private String name;
private int age;
}
===============================END===============================
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
來自為知筆記(Wiz)