Java中註解(Annotation)自訂註解入門

來源:互聯網
上載者:User

要深入學習註解,我們就必須能定義自己的註解,並使用註解,在定義自己的註解之前,我們就必須要瞭解Java為我們提供的元註解和相關定義註解的文法。

元註解:

元註解的作用就是負責註解其他註解。Java5.0定義了4個標準的meta-annotation類型,它們被用來提供對其它 annotation類型作說明。Java5.0定義的元註解:

1.@Target,

2.@Retention,

3.@Documented,

4.@Inherited

這些類型和它們所支援的類在java.lang.annotation包中可以找到。下面我們看一下每個元註解的作用和相應分參數的使用說明。

@Target:

 @Target說明了Annotation所修飾的物件範圍:Annotation可被用於 packages、types(類、介面、枚舉、Annotation類型)、類型成員(方法、構造方法、成員變數、枚舉值)、方法參數和本地變數(如迴圈變數、catch參數)。在Annotation類型的聲明中使用了target可更加明晰其修飾的目標。

作用:用於描述註解的使用範圍(即:被描述的註解可以用在什麼地方)

取值(ElementType)有:

1.CONSTRUCTOR:用於描述構造器

2.FIELD:用於描述域

3.LOCAL_VARIABLE:用於描述局部變數

4.METHOD:用於描述方法

5.PACKAGE:用於描述包

6.PARAMETER:用於描述參數

7.TYPE:用於描述類、介面(包括註解類型) 或enum聲明

使用執行個體:

@Target(ElementType.TYPE)   public @interface Table {       /**        * 資料表名稱註解,預設值為類名稱        * @return        */    public String tableName() default "className";   }          @Target(ElementType.FIELD)   public @interface NoDBColumn {          }

註解Table 可以用於註解類、介面(包括註解類型) 或enum聲明,而註解NoDBColumn僅可用於註解類的成員變數。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.