java 元註解 @Target @Retention @Document @Inherited

 元註解:註解的註解  @Target @Retention @Document @Inherited 用於自定義註解

1、@Target       註解的作用目標
2、@Retention  註解的保留策略
3、@Document 註解將被記錄在javadoc中
4、@Inherited   子類可以繼承父類標註的該註解

@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface test{

	boolean test() default true;

}
註解目標作用域
@Target(ElementType.TYPE)	     // 類、接口、枚舉、註解
@Target(ElementType.FIELD)  	     // 字段、枚舉常量
@Target(ElementType.METHOD) 	     // 方法
@Target(ElementType.PARAMETER)       // 方法參數
@Target(ElementType.CONSTRUCTOR)     // 構造函數
@Target(ElementType.LOCAL_VARIABLE)  // 局部變量
@Target(ElementType.ANNOTATION_TYPE) // 註解
@Target(ElementType.PACKAGE)         // 包

@Retention(RetentionPolicy.SOURCE)   // 註解只在源碼中保留,編譯時忽略掉
@Retention(RetentionPolicy.CLASS)    // 默認的保留策略,註解會在class文件保留,運行時不會保留
@Retention(RetentionPolicy.RUNTIME)  // 註解會一直保留到運行時,可以通過反射獲取到
註解保留時間,生命週期長度 SOURCE < CLASS < RUNTIME

@Documented	// 註解會被javadoc記錄,包括在生成的API文檔中

@Inherited	// 標註後,子類可以繼承父類的該註解

@interface	// 用於聲明自定義註解

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章