常用註解的作用

一.註解

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface MthCache {
    String key();
}

1.@Target 註解

(1)功能:

  • 指明瞭修飾的這個註解的使用範圍,即被描述的註解可以用在哪裏。

(2)ElementType的取值包含以下幾種:

  • TYPE:類,接口或者枚舉
  • FIELD:域,包含枚舉常量
  • METHOD:方法
  • PARAMETER:參數
  • CONSTRUCTOR:構造方法
  • LOCAL_VARIABLE:局部變量
  • ANNOTATION_TYPE:註解類型
  • PACKAGE:包

2.@Retention 註解

(1)功能:

  • 指明修飾的註解的生存週期,即會保留到哪個階段。

(2)RetentionPolicy的取值包含以下三種:

  • SOURCE:源碼級別保留,編譯後即丟棄。
  • CLASS:編譯級別保留,編譯後的class文件中存在,在jvm運行時丟棄,這是默認值。
  • RUNTIME: 運行級別保留,編譯後的class文件中存在,在jvm運行時保留,可以被反射調用。

3.@Documented 註解

(1)功能:

  • 指明修飾的註解,可以被例如javadoc此類的工具文檔化,只負責標記,沒有成員取值。

4.@Inherited註解

(1)功能:

  • 允許子類繼承父類中的註解。

注意:

  • @interface意思是聲明一個註解,方法名對應參數名,返回值類型對應參數類型。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章