【Java SE】二、Javadoc

Java 支持 3 种注释,分别是单行注释、多行注释和文档注释。文档注释以 /** 开头,并以 */ 结束,可以通过 Javadoc 生成 API 帮助文档,Java 帮助文档主要用来说明类、成员变量和方法的功能。

文档注释与Javadoc标签

如下即为文档注释,用于说明该类的相关信息,如:作者、参数、版本、异常等。

/**
* @author :作者名
* @version :版本号
* @since :指明最早需要使用的jdk版本
* @param :参数
* @return:返回值情况
* @throws:异常抛出情况
*/
public class Test {
    /**
     * 求输入两个参数范围以内整数的和
     * @param n 接收的第一个参数,范围起点
     * @param m 接收的第二个参数,范围终点
     * @return 两个参数范围以内整数的和
     */
    public int add(int n, int m) {
        int sum = 0;
        for (int i = n; i <= m; i++) {
            sum = sum + i;
        }
        return sum;
    }
} 

上述中存在的关键词则是文档注释中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

对两种标签格式的说明

  • @tag 格式的标签(不被{}包围的标签)为块标签,只能在主要描述(类注释中对该类的详细说明为主要描述)后面的标签部分(如果块标签放在主要描述的前面,则生成 API 帮助文档时会检测不到主要描述)。

  • {@tag} 格式的标签(由{}包围的标签)为内联标签,可以放在主要描述中的任何位置或块标签的注释中。

注意事项

  • Javadoc 标签必须从一行的开头开始,否则将被视为普通文本。

  • 一般具有相同名称的标签放在一起。

  • Javadoc 标签区分大小写,代码中对于大小写错误的标签不会发生编译错误,但是在生成 API 帮助文档时会检测不到该注释内容。

生成API帮助文档的简单步骤

Javadoc 用法格式如下:

javadoc [options] [packagenames] [sourcefiles]

对格式的说明:

  • options 表示 Javadoc 命令的选项
  • packagenames 表示包名
  • sourcefiles 表示源文件名

以上述的Test.java为例,从该目录到开cmd后输入如下命令:

输入命令时一定要加-encoding UTF-8 -charset UTF-8,否则可能会出现乱码

javadoc -author -version Test.java
cmd

打开 Test.java 文件存储的位置,会发现多出了一个 Test.html 文档。打开文档,文档页面如下图所示。

img1

下图是方法说明

img2
以上命令未考虑编码格式,汉字可能会乱码。使用javadoc -encoding UTF-8 -charset UTF-8 Test.java会解决编码问题。