Javadoc虽然是Sun公司为Java文档自动生成设计的,可以从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。但是Javadoc的注释也符合C的注释格式,而且doxyen也支持该种风格的注释。
官方文档:http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc.html
*:https://en.wikipedia.org/wiki/Javadoc
Javadoc 的注释结构和 C 类似。都以/* 注释 */这种结构。
Javadoc 的内容很多,先学习一下 Overview注释,类注释 和 方法注释,其他的以后再学。先贴出几段 Java 的示例代码。
概述:
/**
* @author Firstname Lastname <address @ example.com>
* @version 2010.0331 (E.g. ISO 8601 YYYY.MMDD)
* @since 1.6 (The Java version used)
*/
public class Test {
// class body
}
类:
/**
* A class representing a window on the screen.
* For example:
* <pre>
* Window win = new Window(parent);
* win.show();
* </pre>
*
* @author Sami Shaio
* @version %I%, %G%
* @see java.awt.BaseWindow
* @see java.awt.Button
*/
class Window extends BaseWindow {
...
}
字段/变量
/**
* The X-coordinate of the component.
*
* @see #getLocation()
*/
int x = 1263732; /**
* The horizontal distances of point.
*/
public int x;
方法:
/**
* Returns the character at the specified index. An index
* ranges from <code>0</code> to <code>length() - 1</code>.
*
* @param index the index of the desired character.
* @return the desired character.
* @exception StringIndexOutOfRangeException
* if the index is not in the range <code>0</code>
* to <code>length()-1</code>.
* @see java.lang.Character#charValue()
*/
public char charAt(int index) {
...
} /**
* Validates a chess move.
*
* @param theFromFile file from which a piece is being moved
* @param theFromRank rank from which a piece is being moved
* @param theToFile file to which a piece is being moved
* @param theToRank rank to which a piece is being moved
* @return true if the move is valid, otherwise false
*/
boolean isValidMove(int theFromFile, int theFromRank, int theToFile, int theToRank) {
// ...body
} /**
* Moves a chess piece.
*
* @see java.math.RoundingMode
*/
void doMove(int theFromFile, int theFromRank, int theToFile, int theToRank) {
// ...body
}
其实这些注释形式都差不多,主要是 tag 不同下面介绍一下 tag 及含义。
Tag & Parameter | Usage | Applies to | Since |
---|---|---|---|
@author name | Describes an author. 描述作者 |
Class, Interface | |
@version version | Provides version entry. Max one per Class or Interface. 版本条目,每个类或接口最多有一个 |
Class, Interface | |
@since since-text | Describes since when this functionality has existed. 描述这个功能块从何时有的 |
Class, Interface, Field, Method | |
@see reference | Provides a link to other element of documentation. 提供链接到其他文档元素的链接 |
Class, Interface, Field, Method | |
@param name description | Describes a method parameter. 描述一个参数 |
Method | |
@return description | Describes the return value. 描述返回值 |
Method | |
@exception classname description @throws classname description |
Describes an exception that may be thrown from this method. 描述该方法可能抛出的异常 |
Method | |
@deprecated description | Describes an outdated method. 描述一个过期的方法 |
Method | |
{@inheritDoc} | Copies the description from the overridden method. 从复写方法出拷贝来得描述 |
Overriding Method | 1.4.0 |
{@link reference} | Link to other symbol. 连到其他的引用 |
Class, Interface, Field, Method | |
{@value} | Return the value of a static field. 返回一个静态作用域的值 |
Static Field | 1.4.0 |
延伸阅读: