(一)註釋的重要性
編寫程序的時候,總需要爲程序添加一些註釋,用以說明某段代碼的作用,或者說明某個類的用途,某個方法的工能,以及該方法的的參數和返回值的數據類型以及意義等
程序註釋的作用非常大,很多初學者在剛剛學習java程序的時候,會很努力的寫程序,不太會注意添加註釋。認爲添加註釋是一種浪費時間,沒有意義的事情。經過一段時間的學習,注意到程序書寫的不足,需要重構。於是打開源碼,以爲可以很輕鬆的改寫原有代碼,但這個時候會發現理解原來寫的代碼會非常的困難,很難理解原有的編程思路。
爲什麼需要添加註釋,至少有如下三方面的考慮:
1 永遠不要過於相信自己的理解能力:
2 可讀性第一,效率第二!
3 代碼即文檔:
程序註釋是源代碼的一個重要部分,對於一份規範的程序源代碼而言,註釋應該佔到源代碼的三分之一以上。幾乎所有的編程都提供了註釋的方法,一般包括,單行註釋,多行註釋。java語言也不例外,不僅包括單行註釋,多行註釋,還提供了一種文檔註釋。java語言的註釋一共有三種類型。
(二)java的三種註釋
單行註釋:在程序中註釋一行代碼
多行註釋:一次性的將程序中多行代碼註釋掉。
文檔註釋:註釋允許你在程序中嵌入關於程序的信息。
(三)單行註釋,多行註釋
單行註釋:將雙斜線//放到需要註釋的內容之前就可以了。
多行註釋:使用/* 和 */ 將程序中需要註釋的內容包含起來。
/* 表示註釋的開始 */ 表示註釋的結束。
(四)增強文檔註釋
java還提供了一種功能更強大的註釋形式,文檔註釋。它以 /** 開始,以 */結束。例子如下:
/***
* 這是一個註釋
* @author alan
* @version 1.2
*/
如果編寫java源代碼的過程中添加了文檔註釋嗎,然後通過JDK提供的javac工具可以直接將源代碼裏的文檔註釋提取程一份系統的API文檔。
javadoc 工具軟件識別以下標籤:
標籤 | 描述 | 示例 |
---|---|---|
@author | 標識一個類的作者 | @author description |
@deprecated | 指名一個過期的類或成員 | @deprecated description |
{@docRoot} | 指明當前文檔根目錄的路徑 | Directory Path |
@exception | 標誌一個類拋出的異常 | @exception exception-name explanation |
{@inheritDoc} | 從直接父類繼承的註釋 | Inherits a comment from the immediate surperclass. |
{@link} | 插入一個到另一個主題的鏈接 | {@link name text} |
{@linkplain} | 插入一個到另一個主題的鏈接,但是該鏈接顯示純文本字體 | Inserts an in-line link to another topic. |
@param | 說明一個方法的參數 | @param parameter-name explanation |
@return | 說明返回值類型 | @return explanation |
@see | 指定一個到另一個主題的鏈接 | @see anchor |
@serial | 說明一個序列化屬性 | @serial description |
@serialData | 說明通過writeObject( ) 和 writeExternal( )方法寫的數據 | @serialData description |
@serialField | 說明一個ObjectStreamField組件 | @serialField name type description |
@since | 標記當引入一個特定的變化時 | @since release |
@throws | 和 @exception標籤一樣. | The @throws tag has the same meaning as the @exception tag. |
{@value} | 顯示常量的值,該常量必須是static屬性。 | Displays the value of a constant, which must be a static field. |
@version | 指定類的版本 | @version info |
javadoc 輸出什麼?
javadoc 工具將你 Java 程序的源代碼作爲輸入,輸出一些包含你程序註釋的HTML文件。
每一個類的信息將在獨自的HTML文件裏。javadoc 也可以輸出繼承的樹形結構和索引。
由於 javadoc 的實現不同,工作也可能不同,你需要檢查你的 Java 開發系統的版本等細節,選擇合適的 Javadoc 版本。