(一)简介
javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过Javadoc就可以同时形成程序的开发文档了。
javadoc命令是用来生成自己API文档的,使用方式:使用命令行在目标文件所在目录输入javadoc +文件名.java。
参考:百度百科、其他
(二)Javadoc标签
在注释中出现以@开头的东西叫做Javadoc文档标记,是JDK定义好的,如@author、@version、@since、@see、@link、@code、@param、@return、 @exception、@throws等。
标签 | 描述 | 示例 |
---|---|---|
@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 |
(三)Javadoc注释规范
(1)Java文档
// 注释一行
/ * */ 注释若干行
/** ……*/ 注释若干行,写入Javadoc文档
(2)文档格式
写在类上的文本标注一般分为三段:
- 第一段:概要描述,通常用一句话或者一段话简要描述该类的作用,以英文句号结束
- 第二段:详细描述,通常用一段或者多段话来详细描述该类的作用,一般每段话都以英文句号作为结束
- 第三段:文档标注,用于标注作者,创建时间,参阅类等信息
生成文档是HTML格式。
换行<br>
分段<p>(写在段前))
(3)语法
所有Javadoc命令都只能在/**
注释中出现,以*/
结束。使用javadoc的方式主要有两种:嵌入html或是“文档标签”。独立文档标签是一些以@
字符开头的命令,且要置于注释前的最前面,而行内文档标签则可以出现在Javadoc注释的任何地方,也是以@
开头,但要扩在花括号内。
共有三种类型的注释文档,分别对应于注释文职后面的三种元素:类、域、方法。类注释正好位于类定义之前,域注释正好位于域定义之前,而方法注释位于方法定义之前。
/** A class comment */
public class Demo
{
/** A field comment */
public int i;
/** A method commend */
public void f(){}
}
Javadoc只能为public和protected成员进行文档注释。(不过可以用-private进行标记,以便把private成员的注释包括在内)
(4)嵌入HTML
Javadoc通过生成的html文档传送html指令。
/**
* you can <em>even</em> insert a list;
*<ol>
*<li> Item one
*<li> Item two
*<li> Item three
*</ol>
*/
(4)示例
/**
* show 方法的简述.
* <p>show 方法的详细说明第一行<br>
* show 方法的详细说明第二行
* @param b true 表示显示,false 表示隐藏
* @return 没有返回值
*/
public void show(boolean b) {
frame.show(b);
}