JAVADOC語法

參數說明:
@see 生成文檔中的「參見xx 的條目」的超連接,後邊能夠加上:「類名」、「完整類名」、「完整類名#方法」。可用於:類、方法、變量註釋。
@param 參數的說明。可用於:方法註釋。
@return 返回值的說明。可用於:方法註釋。
@exception 可能拋出異常的說明。可用於:方法註釋。
@version 版本信息。可用於:類註釋。
@author 做者名。可用於:類註釋。
@deprecated 對類或方法的說明 該類或方法不建議使用,引發不推薦使用的警告
@note 表示註解,暴露給源碼閱讀者的文檔
@remark 表示評論,暴露給客戶程序員的文檔
@since 表示從那個版本起開始有了這個函數
@see 表示交叉參考 java


javadoc命令:
javadoc [options] [packagenames] [sourcefiles]
-public 僅顯示 public 類和成員
-protected 顯示 protected/public 類和成員 (缺省)
-package 顯示 package/protected/public 類和成員
-private 顯示全部類和成員
-d 輸出文件的目標目錄
-version 包含 @version 段
-author 包含 @author 段
-splitindex 將索引分爲每一個字母對應一個文件
@interface
它用於定義新的註釋類型(annotation type)。新建一個註釋類型看起來和定義一Interface 沒有什麼兩樣,
MyTag.java用於新建一個用戶自定義標籤,代碼以下,
================================================================================
package tiger.annotation;
/**
* 用戶自定義標籤??MyTag
*/
public @interface MyTag { }
定義了一個tag以後,咱們就能夠在任何java文件中使用這個tag了,
import tiger.annotation.MyTag;
public class TagTest{
    @MyTag
    public void testTag(){
    }
}
===============================================================================
註釋類型還能夠有成員變量,
==============================================================================
package tiger.annotation;
/**
* 用戶自定義標籤??帶有成員變量的MyTag
*/
public @interface MyTag {
    String name();
    int age();
}
=============================================================================
而後咱們能夠這麼使用這個標籤,
    @MyTag(name="MyTag",age=1)
    public void testTag(){
    }
    使用標籤最終是爲了幫助開發人員提取註釋信息,而後根據不一樣需求作進一步處理,下面咱們來看看如何獲取註釋信息。
=============================================================================
import java.lang.annotation.Annotation;
import tiger.annotation.MyTag;
public class TagTest{
    @MyTag(name="MyTag",age=1)
    public void test(){
    }
    public static void main(String[] args){
        TagTest tt = new TagTest();
        try {
            Annotation[] annotation =tt.getClass().getMethod("test").getAnnotations();
            for (Annotation tag :annotation) {            
              System.out.println("Tag is:" + tag);
              System.out.println("tag.name()" + ((MyTag)tag).name());
              System.out.println("tag.age()" + ((MyTag)(tag)).age());
             }
         } catch(NoSuchMethodException e) {
             e.printStackTrace();
         }
    }
}
===============================================================================
     須要注意的一點是,在執行這段代碼以前咱們還有一點小工做要作,還須要給咱們的自定義標籤MyTag加上一個說明標籤,@ Retention, 代表註釋信息將能夠在運行時刻經過反射機制獲得。若是不加入這個標籤,上面的代碼將沒有任何輸出。修改之後的MyTag以下,
================================================================================
/**
* 用戶自定義標籤??帶有成員變量的MyTag
*/
@Retention(RetentionPolicy.RUNTIME)
public @interface MyTag {
    String name();
    int age();
}
================================================================================
而後咱們執行TagTest能夠獲得輸出以下,
Tag is:@tiger.annotation.MyTag(name=MyTag, age=1)
tag.name()MyTag
tag.age()1
好了,Tiger新的註釋語法基本用法就這麼簡單,基本用法雖然簡單,可是獲取註釋信息以後如何處理確很值得推敲,咱們能夠用他們來作一些語法檢查,文件相關性檢查,進行各類統計等等程序員

相關文章
相關標籤/搜索