`

Javadoc标签介绍

    博客分类:
  • Java
 
阅读更多

Javadoc注释由Javadoc标签和描述性文本组成,你可以为类、接口添加注释,也可为构造函数、值域、方法等类中的元素添加注释。我们来看一个带Javadoc注释的程序,其代码如下所示:

  代码清单 1 Person.java

1. package javadoc;
2. import java.io.Serializable;
3. /** 
4. * 描述人对象,拥有两个属性,分别是名字和性别。
5. * @see javadoc.tool.Car
6. * @version 1.0, 2005-04-12
7. * @author 陈雄华
8. * @since JDK1.3
9. */

10. public class Person implements Serializable
11. {
12.  /**男性,值为{@value}*/ 
13.  public static final int MALE = 1;
14.  /**女性,值为{@value}*/
15.  public static final int FEMALE = 2;
16.  /**名字*/
17.  protected String name;
18.  /**年龄*/
19.  protected int sex;
20.  /**
21.  * 构造一个Person实例。设定Person的名字和性别。
22.  *
23.  * @param name String 名字
24.  * @param sex int 性别,有效值是{@link #MALE 男性}和{@link #FEMALE}
25.  * @throws PersonArgumentException
26.  * @see javadoc.tool.Car#drive(int)
27.  */

28.  public Person(String name ,int sex) throws PersonArgumentException
29.  {
30.   if(sex != MALE && sex != FEMALE)
31.    throw new PersonArgumentException("参数不正确");
32.    this.name = name;
33.    this.sex = sex;
34.  }
35.  /**
36.  * 获取性别代号。
37.  * @return int
38.  * @see MALE
39.  * @see FEMALE
40.  */

41.  public int getSex()
42.  {
43.   return sex;
44.  }
45.  /**
46.  * 设置性别 
47.  * @param sex int
48.  */

49.  public void setSex(int sex)
50.  {
51.   this.sex = sex;
52.  }
53. } 
  所有的Javadoc注释以/**开始,以*/结束,每个注释包含一些描述性的文本及若干个Javadoc标签。描述性的文本不但可以用平面文本,还可以使用HTML文本;Javadoc标签一般以"@"为前缀,有的也以"{@"为前缀,以"}"结束,如{@value }。

  第3~9行是类的注释,它位于类定义代码行前,其中第3行中的

标签是HTML标签,而第4~7行是Javadoc标签,这段注释映射在Javadoc文档中的显示样式如下图所示:


图 4 类注释 
  第12、14行是常量的注释,位于常量定义代码行之前,{@value}表示将常量的值输出到Javadoc文档中,第16、18是成员变量的注释。成员常量和变量统称为值域,它们在一起显示:


图 5 成员常量/变量注释摘要 
  除注释摘要以外,每个成员值域都有自己独立的详细注释。

  第20~27是类构造函数的注释,构造函数有两句描述信息,第一句是"构造一个Person实例。"第二句是"设定Person的名字和性别。",在构造函数的摘要列表中仅会显示第一句描述信息,用"。"分隔每句描述信息。而在构造函数的详细说明部分,则会显示所有的描述信息。这个原则同样适合于变量、方法的摘要,请看下面Javadoc帮助文档中关于方法摘要及方法详细说明,如图26-6,图26-7所示:


图 6 方法摘要 

图 7 构造函数详细描述 
  构造函数的Javadoc标签比较多,@param为方法入参的说明,@throws为方法抛出异常的说明,<@link>标签将在Javadoc文档中提供一个链接到文档中其它部分的URL。

  第35~40、45~48为方法的注释,@return为方法返回类型的说明,前面我们已经提到Javadoc文档包含了一个方法摘要列表,每个方法还对应一个详细描述部分,如getSex()的详细描述如下:


图 8 getSex()方法的详细说明 
  通过这个实例的描述,我们对Javadoc的标签和编写有了大致的了解。注释一般置于须注释元素的前面,如类的注释位于public class Xxx类声明代码的前面,而值域的注释位于public int xxx前面。为了编写优美的Javadoc文档,你不但需要掌握简单的HTML编写知识,更需要了解Javadoc标签的知识。

  不同版本的JDK所支持的Javadoc标签是不一样的,此外还可以按标签适用的地方分成不同类型,如只适用于方法的@return标签,我们称之为方法标签,只适用于变量的@serial标签,我们称之为值域标签,以此类推。往往一个标签适用于多种地方,下表对常用Javadoc标签进行说明: 

  表 2?1 javadoc标签说明

标签说明JDK 1.1 doclet标准doclet标签类型@author 作者作者标识√ √包、 类、接口@version 版本号版本号 √ √ 包、 类、接口@param 参数名 描述方法的入参名及描述信息,如入参有特别要求,可在此注释。√ √ 构造函数、 方法@return 描述对函数返回值的注释√ √ 方法@deprecated 过期文本标识随着程序版本的提升,当前API已经过期,仅为了保证兼容性依然存在,以此告之开发者不应再用这个API。√ √ 包、类、接口、值域、构造函数、 方法@throws异常类名 构造函数或方法所会抛出的异常。 √ 构造函数、 方法@exception 异常类名 同@throws。√ √ 构造函数、 方法@see 引用查看相关内容,如类、方法、变量等。√ √ 包、类、接口、值域、构造函数、 方法@since 描述文本API在什么程序的什么版本后开发支持。 √ √ 包、类、接口、值域、构造函数、 方法{@link包.类#成员 标签} 链接到某个特定的成员对应的文档中。 √ 包、类、接口、值域、构造函数、 方法{@value} 当对常量进行注释时,如果想将其值包含在文档中,则通过该标签来引用常量的值。 √(JDK1.4)静态值域
  此外还有@serial、@serialField、@serialData、{@docRoot}、{@inheritDoc}、{@literal}、{@code} {@value arg}几个不常用的标签,由于不常使用,我们展开叙述,感兴趣的读者可以通过http://www.java.sun.com/j2se/javadoc查看它们详细的帮助信息。

  下面我们对表中所列的几个不容易理解的Javadoc标签举例说明。

  * @see

  可以通过这个标签在当前点链接到某个类、值域或方法的说明上。为了链接到当前类的值域或方法上,在值域和方法名前必须带一个#号,如:

@see #getSex()
@see #MALE
  也可以通过这个标签链接到其它类的方法、值域的说明处,假设我们创建一个称为javadoc的工程,在这个工程包括了代码清单 1的javadoc.Person.java文件,现在我们在工程中再添加一个javadoc.tool.Car类,其程序代码如下所示:

1. package javadoc.tool;
2. 
3. /**
4. * 汽车对象类。
5. * @version 1.0, 2005-04-12
6. * @author 陈雄华
7. * @since JDK1.3
8. */
9. public class Car
10. {
11.  public Car()
12.  {
13.  } 
14.  /**
15.  * 按某一方向驾驶汽车
16.  * @param direction int 方法
17.  * @param speed int 速度
18.  */
19.  public void drive(int direction,int speed)
20.  {
21.   /*do sth*/ 
22.  } 
23.  /**
24.  * 朝前驾驶汽车
25.  * @param speed int 速度
26.  */
27.  public void drive(int speed)
28.  {
29.   /*do sth*/
30.  }
31. } 
  如果Person类和Car类有关系,我们就希望在Person的Javadoc文档中给出一个参见的Car文档的链接,以便开发人员能够顺藤摸瓜找到有联系的Car类的说明文档。要达到这一目的可以在Person类的注释中给出一个@see的标签。

1. /**
2. * 描述人对象,拥有两个属性,分别是名字和性别。
3. * @see javadoc.tool.Car
4. * @version 1.0, 2005-04-12
5. * @author 陈雄华
6. * @since JDK1.3
7. */ 
  请看第3行的@see标签,因为Car和Person类不在同一个包中,所以必须指定类的全名,当然,如果Person.java已经通过import chapter19.tool.Car;引入Car类,则@see可以直接用使用不带包的类名:@see Car。所以Javadoc中的@see引用注释和在Java代码中引用类是相似的。

  一个更特别的应用场合是从当前文档中链接到重载方法,如Car中有两个drive()的重载方法,如何通过@see链接到不同的重载方法和注释中去呢?因为仅通过方法名无法定位,所以在方法名里面还需要指定入参的类型,请看下面的例子: 

  ·@see javadoc.tool.Car#drive(int,int):链接到drive(int direction,int speed)。

  ·@see javadoc.tool.Car#drive(int):链接到drive(int speed)。

  如果注释指定不正确,@see部分的注释将不出现在Javadoc文档中。

  * @link

  @link的@see很相似,唯一不同的是它可以嵌套在注释的描述文本中,在生成Javadoc文档时转换成一个关联链接。如Person的构造函数的注释中的@link:

1. /**
2. * 构造一个Person实例。设定Person的名字和性别。
3. *
4. * @param name String 名字
5. * @param sex int 性别,有效值是{@link #MALE }和{@link #FEMALE}
6. * @throws PersonArgumentException
7. * @see javadoc.tool.Car#drive(int)
8. */ 
  带{}的Javadoc标签象一个变量,在转换成文档后,将替换成一个具体的值或链接。

分享到:
评论

相关推荐

    javadoc 标签, 文档注释

    JavaDoc 是一种在 Java 代码中嵌入文档的工具,它能够...使用这些JavaDoc标签可以极大地提高代码的可读性和维护性,使得其他开发者能更轻松地理解和使用你的代码。编写良好的JavaDoc也是遵循良好编程实践的重要部分。

    javadoc标准注释文档

    JavaDoc是一种在Java编程语言中创建API文档的标准工具。它从源代码中的特殊注释中提取信息,并生成易于阅读的HTML格式文档,使得其他开发者能够理解并使用你的代码。本压缩包包含了一份非常标准的JavaDoc注释文档,...

    javaDoc文档

    6. **自定义标签**:除了预定义的标签,开发者还可以创建自己的Javadoc标签,以适应特定项目的需求。 7. **样式和模板**:JavaDoc允许定制生成的HTML页面样式,通过使用 `-link` 或 `-linkoffline` 参数可以引入CSS...

    Javadoc详细讲解以及生成方式

    下面是一些常见的Javadoc标签: - `@param &lt;paramName&gt;`:描述方法参数的意义和用途。 - `@return`:描述方法返回值的信息。 - `@throws`或`@exception`:指出方法可能抛出的异常。 - `@author`:记录代码作者。 - ...

    如何用Eclipse创建javadoc

    - 还可以使用特定的Javadoc标签,如`@param`, `@return`, `@throws`等,为类和方法提供更详细的注释。 6. **设置内存分配**: - 如果你的项目很大,或者包含许多依赖的库,可能需要增加Eclipse生成Javadoc时的...

    javadoc eclipse

    Eclipse提供了代码提示功能,当在代码中输入`@`时,会自动列出可用的JavaDoc标签,简化了编写过程。同时,Eclipse的Quick Outline视图可以快速跳转到类或方法的JavaDoc,提高了开发体验。 8. **扩展性与自定义**:...

    Myeclipse导出Javadoc步骤

    通过遵循标准的Javadoc注释格式,如使用`@param`, `@return`, `@throws`, `@author`, `@version`等标签,可以提高文档的结构化和可读性。 总结来说,MyEclipse导出Javadoc的步骤包括选择项目、选择导出选项、配置...

    生成Javadoc文档

    为了使生成的Javadoc文档尽可能丰富和有用,你需要在源代码中使用特定的Javadoc标签进行注释。例如: ```java /** * This is a sample class. * @author Your Name * @version 1.0 */ public class SampleClass...

    规范生成Javadoc帮助文档

    Eclipse中自动生成Javadoc的方法,以及一些标签的含义

    JavaDoc(1.8中文版)

    3. **@tags**:JavaDoc支持一系列的标签,如`@param`、`@return`、`@throws`、`@author`、`@version`等,它们提供了结构化的注释信息。例如,`@param`用于描述方法参数,`@return`描述方法返回值,`@throws`描述可能...

    JavaDoc生成API文档(powernode document)(源代码和导出的文档)

    也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过Javadoc就可以同时形成程序的开发文档了。    Java中有三种注释方法://单行注释、/多行注释/和/文档注释/,其中第三种专为JavaDoc设计...

    JDK10-Java Platform, Standard Edition ,Javadoc Guide-26.pdf

    本文档的主要内容包括Java平台标准版的概述、Javadoc的使用方法、Javadoc标签的解释、Java平台标准版的配置选项等。同时,本文档还提供了许多实用的示例代码和配置示例,帮助开发者更好地理解和使用Java平台标准版。...

    javadoc使用指南

    下面将详细介绍JavaDoc的使用指南,包括其基本概念、语法、命令行参数以及实际应用。 1. **JavaDoc的基本概念** - JavaDoc注释:以`/**`开始,`*/`结束的多行注释。这种注释方式专门用于JavaDoc工具,以便生成文档...

    JDK11-javadoc-guide.pdf

    JDK 11 Javadoc 指南 JDK 11 Javadoc 指南是 Oracle 公司发布的官方文档,旨在...JDK 11 Javadoc 指南是学习和使用 Javadoc 的重要资源,涵盖了 Javadoc 的基本概念、使用方法、配置选项、标签和修饰符等方面的内容。

    javadoc 生成注释 和 检查注释的文档

    除了基本的`/**...*/`注释形式,JavaDoc还支持以下特殊标签: - `@param` 描述方法参数。 - `@return` 描述方法返回值。 - `@throws` 或 `@exception` 描述方法可能抛出的异常。 - `@author` 记录代码作者。 - `@...

    JavaDoc写法规范

    ### JavaDoc写法规范 #### 一、Java文档注释基础 JavaDoc是一种为Java代码添加文档的标准方式,它能够自动生成易于阅读...以上是对JavaDoc写法规范的详细介绍,遵循这些规范可以帮助开发者创建更加清晰、有用的文档。

    easy-javadoc本项目是IntelliJ IDEA的插件

    【标签】"插件和扩展 IDEA插件"指出该资源属于IntelliJ IDEA的扩展功能,是IDE生态系统的一部分。IntelliJ IDEA允许用户安装各种插件以增强其功能,这些插件可能包括代码高亮、版本控制集成、任务管理等。easy-...

    使用Eclipse将java类导成javadoc截图文档

    - 使用标准的Javadoc标签,以保证兼容性和一致性。 六、Javadoc在团队协作中的价值 Javadoc是提高代码可读性和团队协作效率的重要工具。通过清晰的文档,团队成员可以更快地理解和维护代码,减少沟通成本,提高开发...

    javadoc

    1. **Javadoc 介绍** Javadoc 可以为 Java 类、接口、构造函数、方法等添加注释,这些注释以 `/**` 开始,`*/` 结束,并包含一系列的特定标签。Javadoc 生成的文档通常包含类的概述、构造函数、方法、字段等详细...

Global site tag (gtag.js) - Google Analytics