Java 文件註釋

Java 文件註釋

Java 支援三種註釋方式。前兩種分別是 ///* */,第三種被稱作說明註釋,它以 /** 開始,以 */結束。

說明註釋允許你在程式中嵌入關於程式的資訊。你可以使用 javadoc 工具軟體來生成資訊,並輸出到HTML檔案中。

說明註釋,使你更加方便的記錄你的程式資訊。


javadoc 標籤

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

文件註釋

在開始的 /** 之後,第一行或幾行是關於類、變數和方法的主要描述。

之後,你可以包含一個或多個各種各樣的 @ 標籤。每一個 @ 標籤必須在一個新行的開始或者在一行的開始緊跟星號(*).

多個相同型別的標籤應該放成一組。例如,如果你有三個 @see 標籤,可以將它們一個接一個的放在一起。

下面是一個類的說明註釋的例項:

/*** 這個類繪製一個條形圖 * @author itread01 * @version 1.2 */

javadoc 輸出什麼

javadoc 工具將你 Java 程式的原始碼作為輸入,輸出一些包含你程式註釋的HTML檔案。

每一個類的資訊將在獨自的HTML檔案裡。javadoc 也可以輸出繼承的樹形結構和索引。

由於 javadoc 的實現不同,工作也可能不同,你需要檢查你的 Java 開發系統的版本等細節,選擇合適的 Javadoc 版本。

例項

下面是一個使用說明註釋的簡單例項。注意每一個註釋都在它描述的專案的前面。

在經過 javadoc 處理之後,SquareNum 類的註釋將在 SquareNum.html 中找到。

SquareNum.java 檔案程式碼:

import java.io.*; /** * 這個類演示了文件註釋 * @author Ayan Amhed * @version 1.2 */ public class SquareNum { /** * This method returns the square of num. * This is a multiline description. You can use * as many lines as you like. * @param num The value to be squared. * @return num squared. */ public double square(double num) { return num * num; } /** * This method inputs a number from the user. * @return The value input as a double. * @exception IOException On input error. * @see IOException */ public double getNumber() throws IOException { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader inData = new BufferedReader(isr); String str; str = inData.readLine(); return (new Double(str)).doubleValue(); } /** * This method demonstrates square(). * @param args Unused. * @return Nothing. * @exception IOException On input error. * @see IOException */ public static void main(String args[]) throws IOException { SquareNum ob = new SquareNum(); double val; System.out.println("Enter value to be squared: "); val = ob.getNumber(); val = ob.square(val); System.out.println("Squared value is " + val); } }

如下,使用 javadoc 工具處理 SquareNum.java 檔案:

$ javadoc SquareNum.java
Loading source file SquareNum.java...
Constructing Javadoc information...
Standard Doclet version 1.5.0_13
Building tree for all the packages and classes...
Generating SquareNum.html...
SquareNum.java:39: warning - @return tag cannot be used\
                      in method with void return type.
Generating package-frame.html...
Generating package-summary.html...
Generating package-tree.html...
Generating constant-values.html...
Building index for all the packages and classes...
Generating overview-tree.html...
Generating index-all.html...
Generating deprecated-list.html...
Building index for all classes...
Generating allclasses-frame.html...
Generating allclasses-noframe.html...
Generating index.html...
Generating help-doc.html...
Generating stylesheet.css...
1 warning
$