基礎——註解

註解

註解也叫元數據,一種代碼級別的說明。與類、接口、枚舉在同一層次。它可以用在任何地方:包、類、字段、局部變量、方法參數、成員方法、成員函數等前面,用來這些元素進行說明、註釋

註解本質上就是一個接口,該接口默認繼承Annotation接口

作用分類:

  • 編寫文檔:通過代碼裏標識的註解生成文檔【例如,生成文檔doc文檔】
  • 代碼分析:通過代碼裏標識的註解對代碼進行分析【例如,註解的反射】
  • 編譯檢查:通過代碼裏標識的註解讓編譯器能夠實現基本的編譯檢查【例如,Override】

自定義註解

1. 格式

public @interface 註解名稱{
    屬性列表;
}

2、分類

  1. 空註解:沒有屬性集
public @interface MyAnno1 {
}
  1. 有屬性集的註解:

    屬性的定義格式:
    (1)數據類型 屬性名稱(); // 沒有默認值
    (2)數據類型 屬性名稱() default 默認值; // 有默認值,default後面的內容

public @interface MyAnno2 {
    String name();
    int age() default 18;
    String[] hobbies();
    MyAnno1 anno();
}
  1. 屬性的類型都有哪些?
    8種基本類型,String,枚舉,Class類型,註解類型
    以上任意類型的一位數組 如int[]。

3、自定義註解的使用

  1. 使用格式
@註解名稱(屬性名稱1=屬性值1,屬性名稱2=屬性值2 ......
  1. 注意:
    (1)空註解可以直接使用
    (2)屬性是數組,使用時,多個值用{}括起來
    (3)屬性是數組,只有一個值{}可以省略
    (4)有默認值的屬性,可以省略不寫

4、注意事項

  1. 空註解可以直接使用
  2. 一個註解只能在一個位置使用一次,一個位置上可以使用多個不同註解
  3. 如果註解有屬性,那麼必須給屬性賦值
  4. 如果屬性有默認值,則使用註解的時候,這個屬性可以不用賦值。
    如果屬性沒有默認值,那麼在使用註解時一定要給屬性賦值。
  5. 一個註解中 只有一個屬性 並且這個屬性叫value。那麼賦值時可以省略屬性名
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章