亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java 文档注释精通:Javadoc 工具与注释类型全解析

Java 语言支持三类注释:

序号注释及描述
1

/* text */

编译器忽略 /* 到 */ 之间的所有内容。

2

//text

编译器忽略 // 到行尾的所有内容。

3

/** documentation */

这是文档注释,通常称为 doc comment。JDK javadoc 工具在生成自动文档时使用 doc comments。

本章详解 Javadoc,展示如何利用 Javadoc 为 Java 代码生成有用文档。

什么是 Javadoc?

Javadoc 是随 JDK 提供的工具,用于从 Java 源代码按预定义格式生成 HTML 格式的 Java 代码文档。

下面简单示例中 /*….*/ 内为 Java 多行注释,// 前一行为单行注释:

示例

/**
 * HelloWorld 程序实现仅在标准输出显示 "Hello World!" 的应用。
 *
 * @author Zara Ali
 * @version 1.0
 * @since 2014-03-31
 */
public class HelloWorld {
    public static void main(String[] args) {
        // 在标准输出打印 Hello, World!
        System.out.println("Hello World!");
    }
}

描述部分可包含所需 HTML 标签。例如下例使用 <h1>....</h1> 作为标题,<p> 用于段落换行:

示例

/**
 * <h1>Hello, World!</h1>
 * HelloWorld 程序实现仅在标准输出显示 "Hello World!" 的应用。
 * <p>
 * 程序中添加适当注释使其更友好,被视为高质量代码。
 *
 * @author Zara Ali
 * @version 1.0
 * @since 2014-03-31
 */
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

Javadoc 标签

javadoc 工具识别以下标签:

标签描述语法
@author添加类作者@author name-text
{@code}以代码字体显示文本,不将文本解析为 HTML 标记或嵌套 javadoc 标签{@code text}
{@docRoot}表示从任意生成页面到生成文档根目录的相对路径{@docRoot}
@deprecated添加注释指明此 API 不应再使用@deprecated deprecatedtext
@exception在生成文档中添加 Throws 子标题,包含类名和描述文本@exception class-name description
{@inheritDoc}从 最近 可继承类或可实现接口继承注释从直接父类继承注释
{@link}插入行内链接,可见文本标签指向指定包、类或引用类成员名的文档{@link package.class#member label}
{@linkplain}同 {@link},但链接标签以纯文本而非代码字体显示{@linkplain package.class#member label}
@param在“Parameters”节添加指定参数名及描述@param parameter-name description
@return添加“Returns”节及描述文本@return description
@see添加“See Also”标题及指向参考的链接或文本条目@see reference
@serial用于默认可序列化字段的文档注释@serial field-description | include | exclude
@serialData记录 writeObject() 或 writeExternal() 方法写入的数据@serialData data-description
@serialField记录 ObjectStreamField 组件@serialField field-name field-type field-description
@since在生成文档中添加“Since”标题及指定 since-text@since release
@throws@throws 和 @exception 标签同义@throws class-name description
{@value}在静态字段的文档注释中使用 {@value} 时,显示该常量值{@value package.class#field}
@version使用 -version 选项时,在生成文档中添加“Version”子标题及指定 version-text@version version-text

示例

下面程序使用文档注释的几个重要标签。可根据需求使用其他标签。

AddNum 类文档将生成 HTML 文件 AddNum.html,同时也会创建名为 index.html 的主文件。

import java.io.*;
/**
 * <h1>Add Two Numbers!</h1>
 * AddNum 程序实现仅将两个给定整数相加并打印输出的应用。
 * <p>
 * <b>Note:</b> 程序中添加适当注释使其更友好,被视为高质量代码。
 *
 * @author Zara Ali
 * @version 1.0
 * @since 2014-03-31
 */
public class AddNum {
    /**
     * 此方法用于添加两个整数。这是
     * 类方法最简单形式,仅为展示各种 javadoc 标签用法。
     * @param numA 这是 addNum 方法的第一个参数
     * @param numB 这是 addNum 方法的第二个参数
     * @return int 返回 numA 和 numB 之和。
     */
    public int addNum(int numA, int numB) {
        return numA + numB;
    }
    /**
     * 这是使用 addNum 方法的主方法。
     * @param args 未使用。
     * @return 无。
     * @exception IOException 输入错误时。
     * @see IOException
     */
    public static void main(String args[]) throws IOException {
        AddNum obj = new AddNum();
        int sum = obj.addNum(10, 20);
        System.out.println("10 和 20 的和为 :" + sum);
    }
}

使用 javadoc 实用程序处理上述 AddNum.java 文件:

$ javadoc AddNum.java
Loading source file AddNum.java...
Constructing Javadoc information...
Standard Doclet version 1.7.0_51
Building tree for all the packages and classes...
Generating /AddNum.html...
AddNum.java:36: warning - @return tag cannot be used in method with void return type.
Generating /package-frame.html...
Generating /package-summary.html...
Generating /package-tree.html...
Generating /constant-values.html...
Building index for all the packages and classes...
Generating /overview-tree.html...
Generating /index-all.html...
Generating /deprecated-list.html...
Building index for all classes...
Generating /allclasses-frame.html...
Generating /allclasses-noframe.html...
Generating /index.html...
Generating /help-doc.html...
1 warning
$

可在此查看所有生成文档 —— AddNum。若使用 JDK 1.7,javadoc 生成的 stylesheet.css 不太理想,建议从 https://docs.oracle.com/javase/7/docs/api/stylesheet.css 下载使用标准样式表。

java

  1. 精通 Java 运算符:类型、语法与实战示例
  2. Java 注释:类型、用法与最佳实践
  3. 精通 Java if…else:控制流全解析
  4. 精通 Java 增强 for 循环:语法、示例与最佳实践
  5. 精通 Java 字符串:创建、方法与最佳实践
  6. 精通 Java 接口:概念、实现与最佳实践
  7. 精通 Java 匿名内部类:定义、语法与实战示例
  8. 精通 Java Try-With-Resources:自动资源管理详解
  9. Java 注解详解:类型、放置位置与实战示例
  10. Java 断言实战指南:尽早发现 Bug 与保障代码可靠性
  11. 深入理解 Java Vector:用法、特性及与 ArrayList 的对比
  12. Java 文档注释精通:Javadoc 工具与注释类型全解析