软件是这样“炼”成的:Java学习全演练
上QQ阅读APP看书,第一时间看更新

4.4 JavaDoc文档

4.4.1 JavaDoc介绍

Java程序员都应该知道使用JDK开发,最好的帮助信息就来自Sun发布的Java文档。它分包、分类详细地提供各方法、属性的帮助信息,具有详细的类树信息、索引信息等,并提供许多相关类之间的关系,例如,继承、实现接口、引用等,是Java编程非常好的帮助文件编写工具。

4.4.2 JavaDoc标记

JavaDoc注释由JavaDoc标签和描述性文本组成,开发人员可以为类、接口添加注释,也可为构造函数、值域、方法等类中的元素添加注释。4.2.3节注释规范中已详细说明如何注释。本节仅针对具体标记详细说明如下。

1. 标记列表

@author对类的说明,标明开发该类模块的作者。

@version对类的说明,标明该类模块的版本。

@see对类、属性、方法的说明,参考转向,也就是相关主题。

@param对方法的说明,对方法中某参数的说明。

@return对方法的说明,对方法返回值的说明。

@exception对方法的说明,对方法可能抛出的异常进行说明。

{@link包.类#成员标签}链接到某个特定的成员对应的文档中,包括包、类、接口、值域、构造函数、方法。

{@value}当对常量进行注释时,如果想将其值包含在文档中,则通过该标签来引用常量,静态值域。

2. 参数详细解释

1)@see的3种句法

     @see类名
     @see#方法名或属性名
     @see类名#方法名或属性名

第一个句法主要说明类名即可。

第二个句法中没有指出类名,则默认为当前类。所以它定义的参考,都转向本类中的属性或者方法。而第三个句法中指出了类名,则还可以转向其他类的属性或者方法。

2)使用@author和@version说明类

这两个标记分别用于指明类的作者和版本。默认情况下,JavaDoc将其忽略,但命令行开关-author和-version可以修改这个功能,使其包含的信息被输出。这两个标记的句法如下。

     @author作者名
     @version版本号

其中,@author可以多次使用,以指明多个作者,生成的文档中每个作者之间使用逗号(,)隔开。@version也可以使用多次,只有第一次有效,生成的文档中只会显示第一次使用@version指明的版本号。

3)使用@param、@return和@exception说明方法

这3个标记都是只用于方法的。@param描述方法的参数,@return描述方法的返回值,@exception描述方法可能抛出的异常。它们的句法如下。

     @param参数名,参数说明
     @return返回值说明
     @exception异常类名说明

每一个@param只能描述方法的一个参数,所以,如果方法需要多个参数,就需要多次使用@param来描述。

一个方法中只能用一个@return,如果文档说明中列了多个@return,则JavaDoc编译时会发出警告,且只有第一个@return在生成的文档中有效。

方法可能抛出的异常应当用@exception描述。由于一个方法可能抛出多个异常,所以可以有多个@exception。每个@exception后面应有简述的异常类名,说明中应指出抛出异常的原因。需要注意的是,异常类名应该根据源文件的import语句确定是写出类名还是类全名。

4.4.3 JavaDoc命令的用法

1. JavaDoc命令

运行javadoc-help,可以看到JavaDoc的用法,这里列举常用参数如下。

     javadoc[options][packagenames][sourcefiles]

选项options说明如下:

-public仅显示public类和成员;

-protected显示protected/public类和成员(默认);

-package显示package/protected/public类和成员;

-private显示所有类和成员;

-d<directory>输出文件的目标目录;

-version包含@version段;

-author包含@author段;

-splitindex将索引分为每个字母对应一个文件;

     -windowtitle <text >  文档的浏览器窗口标题。

2. 参数详细解释

-d选项允许定义输出目录。如果不用-d定义输出目录,生成的文档文件会放在当前目录下。-d选项的用法如下:

     -d目录名

目录名为必填项,也就是说,如果使用了-d参数,就一定要为它指定一个目录。这个目录必须已经存在;如果还不存在,需在运行JavaDoc之前创建该目录。

-version和-author用于控制生成文档时是否生成@version和@author指定的内容。不加这两个参数的情况下,生成的文档中不包含版本和作者信息。

-splitindex选项将索引分为每个字母对应一个文件。默认情况下,索引文件只有一个,且该文件中包含所有索引内容。当然生成文档内容不多的时候,这样做非常合适;但是,如果文档内容非常多,这个索引文件将包含非常多的内容,显得过于庞大。使用-splitindex会把索引文件按各索引项的第一个字母进行分类,每个字母对应一个文件,这样,就减轻了一个索引文件的负担。

-windowtitle选项为文档指定一个标题,该标题会显示在窗口的标题栏上。如果不指定该标题,而默认的文档标题为“生成的文档(无标题)”。该选项的用法如下:

     -windowtitle标题

标题是一串没有包含空格的文本,因为空格符是用于分隔各参数的,所以不能包含空格。同-d类似,如果指定了-windowtitle选项,则必须指定标题文本。