類似C/C++,Java也支持單行和多行注釋
注釋中的字符在編譯時會被忽略
注釋通常為類、變量和方法的主要描述
單行注釋
// 注釋內容
多行注釋
/* 注釋內容 */
/*
* 注釋內容
*/
文檔注釋
/**
* 注釋內容
*/
文檔注釋可使用javadoc工具來生成信息,並輸出到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 Double.valueOf(str.toString()); } /** * This method demonstrates square(). * @param args Unused. * @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
正在加載源文件SquareNum.java...
正在構造 Javadoc 信息...
標准 Doclet 版本 11.0.1
正在構建所有程序包和類的樹...
正在生成./SquareNum.html...
正在生成./package-summary.html...
正在生成./package-tree.html...
正在生成./constant-values.html...
正在構建所有程序包和類的索引...
正在生成./overview-tree.html...
正在生成./index-all.html...
正在構建所有類的索引...
正在生成./allclasses-index.html...
正在生成./allpackages-index.html...
正在生成./deprecated-list.html...
正在構建所有類的索引...
正在生成./allclasses.html...
正在生成./allclasses.html...
正在生成./index.html...
正在生成./help-doc.html...
處理之后,SquareNum類的注釋可在SquareNum.html中找到
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 |