java中的注释,大家应该已经很熟悉了。

文档注释可以用于对类、属性、方法等进行说明。写文档注释时除了需要使用 /** .... */ 限定之外,还需要注意注释内部的一些细节问题。

1文档和文档注释的格式化

生成的文档是 HTML 格式,而这些 HTML 格式的标识符并不是 javadoc 加的,而是我们在写注释的时候写上去的。比如,需要换行时,不是敲入一个回车符,而是写入 <br>,如果要分段,就应该在段前写入 <p>。

因此,格式化文档,就是在文档注释中添加相应的 HTML 标识。

文档注释的正文并不是直接复制到输出文件 (文档的 HTML 文件),而是读取每一行后,删掉前导的 * 号及 * 号以前的空格,再输入到文档的。如 /**

* This is first line. <br>

***** This is second line. <br> This is third line. */

编译输出后的 HTML 源码则是 This is first line. <br> This is second line. <br> This is third line.

前导的 * 号允许连续使用多个,其效果和使用一个 * 号一样,但多个 * 号前不能有其它字符分隔,否则分隔符及后面的 * 号都将作为文档的内容。

还有一点需要说明,文档注释只说明紧接其后的类、属性或者方法,如:

/** commnet forclass */

public classTest { ...... }

2文档注释的三部分

根据在文档中显示的效果,文档注释分为三部分。先举例如下,以便说明。

/**

* show 方法的简述.

* <p>show 方法的详细说明第一行<br> * show 方法的详细说明第二行

* @param b true 表示显示,false 表示隐藏

* @return 没有返回值

*/

public voidshow(boolean b) { frame.show(b); }

第一部分是简述,列表中属性名或者方法名后面那段说明就是简述。简述部分写在一段文档注释的最前面,第一个点号 (.) 之前 (包括点号)。换句话说,就是用第一个点号分隔文档注释,之前是简述,之后是第二部分和第三部分。如上例中的 “* show 方法的简述.”。

有时,即使正确地以一个点号作为分隔,javadoc 仍然会出错,把点号后面的部分也做为了第一部分。为了解决这个问题,我们可以使用一个 <p> 标志将第二分部分分开,如上例的“* <p>show 方法的详细说明第一行 ....”。

第二部分是详细说明部分。该部分对属性或者方法进行详细的说明,在格式上没有什么特殊的要求,可以包含若干个点号。

第三部分是特殊说明部分。这部分包括版本说明、参数说明、返回值说明等。第三部分在上例中相应的代码是:

* @param b true 表示显示,false 表示隐藏

* @return 没有返回值

除了 @param 和 @return 之外,还有其它的一些特殊标记,分别用于对类、属性和方法的说明。

三. 使用 javadoc 标记

javadoc 标记是插入文档注释中的特殊标记,它们用于标识代码中的特殊引用。javadoc 标记由“@”及其后所跟的标记类型和专用注释引用组成。记住了,三个部分——@、标记类型、专用注释引用。虽然 @ 和 标记类型之间有时可以用空格符分隔,但是推荐将它们紧挨着写,以减少出错机会。

javadoc 标记有如下一些:

标记                            用于                                                        作用

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

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

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

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

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

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

1 @see 的使用

@see 的句法有三种:

@see 类名

@see #方法名或属性名

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

例:

/**

* @see     java.lang.String

* @see     #str

* @see     #str()

* @see  #main(String[])

* @see     java.lang.Object#toString()

*/

public classTestJavaDoc  {

private Stringstr;

public voidstr(){   }

public staticvoid main(String[] args){   }

}

生成的文档的相关部分如下图

2. 使用 @author、@version 说明类

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

这两个标记的句法如下:

@author 作者名

@version 版本号

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

/**

* @author Fancy

* @author Bird

* @versionVersion 1.00

* @versionVersion 2.00

*/

public classTestJavaDoc {}

生成文档的相关部分如图

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

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

@param 参数名 参数说明

@return 返回值说明

@exception 异常类名 说明

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

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

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

public class TestJavaDoc {

/**

* @param n a switch

* @param b excrescent parameter

* @return true or false

* @return excrescent return

* @exception java.lang.Exception throw when switch is 1

* @exception NullPointerException throw when parameter n is null

*/

public boolean fun(Integer n) throws Exception {

switch (n.intValue()) {

case 0:

break;

case 1:

throw new Exception("Test Only");

default:

return false;

}

return true;

}

}

使用 javadoc 编译生成的文档相关部分如下图:

四. javadoc 命令

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

用法:javadoc [options][packagenames] [sourcefiles]

选项:

-public 仅显示 public 类和成员

-protected 显示protected/public 类和成员 (缺省)

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

-private 显示所有类和成员

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

-version 包含 @version 段

-author 包含 @author 段

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

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

javadoc 编译文档时可以给定包列表,也可以给出源程序文件列表。例如在 CLASSPATH 下有两个包若干类如下:

fancy.Editor   fancy.Test

fancy.editor.ECommand

fancy.editor.EDocument

fancy.editor.EView  这里有两个包 (fancy 和fancy.editor) 和 5 个类。那么编译时 (Windows 环境) 可以使用如下 javadoc 命令:

javadocfancy\Test.java fancy\Editor.java fancy\editor\ECommand.java

fancy\editor\EDocument.javafancy\editor\EView.java

这是给出 java 源文件作为编译参数的方法,注意命令中指出的是文件路径,应该根据实际情况改变。也可以是给出包名作为编译参数,如:

javadoc fancyfancy.editor

用浏览器打开生成文档的index.html 文件即可发现两种方式编译结果的不同,如下图:

用第二条命令生成的文档被框架分成了三部分:包列表、类列表和类说明。在包列表中选择了某个包之后,类列表中就会列出该包中的所有类;在类列表中选择了某个类之后,类说明部分就会显示出该类的详细文档

下面再来细说选项。

-public、-protected、-package、-private 四个选项,只需要任选其一即可。它们指定的显示类成员的程度。它们显示的成员多少是一个包含的关系,如下:

-private (显示所有类和成员)

-package (显示package/protected/public 类和成员)

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

-public (仅显示 public 类和成员)

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

-d 目录名

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

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

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

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

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

本文参考自:

百度文库

java javadoc要求_javadoc注释规范相关推荐

  1. Java 阿里命名以及注释规范

    本页目录 个人经验 命名规范 其他场景 注释规范 注释类型 数组命名 POJO类不要加is前缀:这里有些框架会引起序列化错误 OOP规约 @Deprecated 过时 过期方法需要加入此注解 集合 线 ...

  2. java里什么是注释,全面解析Java中的注解与注释

    注解 一.什么是 Annotation? (注解 or 注释) Annotation, 准确的翻译应该是 -- 注解. 和注释的作用完全不一样. Annotation 是JDK5.0及以后版本引入的一 ...

  3. java关键词 英文原文解释,javadoc注释规范(国外英文资料).doc

    javadoc注释规范(国外英文资料) javadoc注释规范(国外英文资料) Does Javadoc make notes? I. Java documents? Notes a / /? Som ...

  4. 详细聊聊Javadoc注释规范

    Javadoc 注释规范 1. 注释分类 2. Java文档和Javadoc 3. 文档注释的格式  3.1 文档和文档注释的格式化 3.2 文档注释的三部分 4. 使用Javadoc标记  4.1 ...

  5. java 注释 超链接_java_Java代码注释规范详解,代码附有注释对程序开发者来 - phpStudy...

    Java代码注释规范详解 代码附有注释对程序开发者来说非常重要,随着技术的发展,在项目开发过程中,必须要求程序员写好代码注释,这样有利于代码后续的编写和使用. 基本的要求: 1.注释形式统一 在整个应 ...

  6. Java注释规范整理

    在软件开发的过程中总是强调注释的规范,但是没有一个具体的标准进行说明,通常都是在代码编写规范中简单的描述几句,不能作为一个代码注释检查的标准和依据,做什么都要有一个依据吗:),现在我特整理了一个< ...

  7. java的注释规范_Java 注释规范

    基本的要求: 1.注释形式统一 在整个应用程序中,使用具有一致的标点和结构的样式来构造注释.如果在其它项目中发现它们的注释规范与这份文档不同,按照这份规范写代码,不要试图在既成的规范系统中引入新的规范 ...

  8. Java 语法规定之外的命名注释规范

    Java 语法规定之外的命名注释规范 命名规范 1. 项目名 2. 包名 3. 类名 4. 常量名 5. 变量名 6. 方法名 8. 其它命名技巧 9. 应当避免的行为 10. 经典的命名法 11. ...

  9. 【Java】浅谈JavaDoc文档注释

    JavaDoc文档注释 文档注释 JavaDoc标记 文档注释示例 基于Eclipse IDE的JavaDoc实战 后记 文档注释 我们知道,Java有三种注释: 单行注释:// 多行注释:/* */ ...

最新文章

  1. Meta 研发触觉手套助力元宇宙,虚拟世界也可以有触觉
  2. 英文文章如何进行略读
  3. Mysql插入很慢,找到了稍微快点的方法
  4. 主板24pin接口详图_【图解】主板连线接口最详尽图文解释
  5. sql文件建立mysql库_使用.SQL文件创建MySQL数据库
  6. [阅读记录]《新ABS_Guide_cn.txt》shell脚本的编写
  7. MLOps- 吴恩达Andrew Ng Overview of the ML Lifecycle and Deployment Week1 部署深度学习模型model 实现作业
  8. anylogic中编写java代码_anylogic 使用
  9. PL(Planet)卫星群遥感数据介绍及应用
  10. 汉字为什么能流传至今_《汉字为什么是方块字(节选)》阅读附答案
  11. Matlab 全局变量定义与使用
  12. 字典攻击—Python
  13. czy的后宫——矩阵快速幂优化DP
  14. GPS-Uber:一个用于预测一般和e3特异性赖氨酸泛素化位点的混合学习框架
  15. 3种伺服电机控制方式
  16. 一个WEB页面的访问过程
  17. 阿里云虚拟主机 mysql_阿里云虚拟主机数据库用户操作是怎样的
  18. 整车模型系列之变速器模型的建立
  19. ASEMI-A7二极管和M7二极管有什么区别
  20. 2023年Q1天猫手机行业品牌销售排行榜

热门文章

  1. asp.net通讯录管理系统课程设计ASP.NET图像的检索技术毕业设计(源代码+论文+开题报告+外文翻译+文献综述+答辩PPT)
  2. SOLIDWORKS Electrical插件LingWorks产品介绍
  3. 响应了WM_SetCursor消息,如何改变鼠标形状
  4. XCode 为iPhone程序设置图标的方法
  5. 文档管理系统对于企业有哪些优势
  6. 对python3.7打包而成的exe进行反编译
  7. 思迈特软件Smartbi数据可视化大屏设计经验分享
  8. 工厂设计模式(三种)详解
  9. 1137 - 【入门】纯粹素数
  10. Web端英语短语学习网页(HTML,CSS,JS综合运用)