Annotation功能

概述
Annotation就是註解用來說明程序,時給計算機看的。(註釋的話就是給程序Y看的)。
可以聲明在包、類、方法、局部變量、方法參數等的前面,用來對這些元素進行說明註釋。
作用

  • 編寫文檔:通過代碼裏標識的元數據生成文檔(生成doc文檔)==(這個太有趣了,所以我就嘗試了一波)

步驟按 /** 再按一下回車,就可以寫註釋,然後再cmd裏面 用javadoc creatdoc.java,然後打開生成的index.htlm文件,就可以看到生成的doc文檔了,代碼如下

/**
 * 註解javadoc演示
 * @author Zhang
 *@since 1.5
 *
 */
public class creatdoc {
	/**
	 * 計算兩數的和
	 * @param a
	 * @param b
	 * @return 兩數的和
	 */
	public int add(int a,int b) {
		return a+b;
	}
	
}

具體因爲一些細節原因沒用太成功(我透遼)
在這裏插入圖片描述

  • 代碼分析
  • 編譯檢查
    基本內置註解
@Override 它的作用是對覆蓋超類中方法的方法進行標記,如果被標記的方法並沒有實際覆蓋超類中的方法,則編譯器會發出錯誤警告。

@Deprecated 用該註解標註內容,表示已經過時
@SuppressWarnings 用來壓制警告 @SuppressWarnings("all")傳遞參數all表示壓制所有的警告

自定義Annotation類型

在定義Annotation類型時,@Retention設置爲RetentionPolicy.RUNTIME,那麼在程序運行時通過反射就可以獲取到相關的Annotation信息,如獲取構造方法、字段、方法的Annotation信息。

public @interface NoMemberAnnotation{
//屬性列表
}

要求
1.屬性的返回值(只能)有下列取值
基本數據類型、String、枚舉、註解、以上類型的數組
2.再定義屬性的時候可以用default關鍵字給屬性默認值初始化

public @interface NoMemberAnnotation{
	String value() default"默認值"}

3.如果只有一個屬性一般名稱定義爲value,且value可以省略
元註解

  • @Targe 描述註解的註解(如果沒用Targe表示適用於所有程序)
    ElementType中的枚舉常量
    在這裏插入圖片描述
  • @Retention 描述註解被保留的階段
    在這裏插入圖片描述
    例如
@Retention(RetentionPolicy.RUNTIME);
  • @Inherited 描述註解知否被子類繼承
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章