知识大全 JavaDoc,在 Java 的注释上做文章(下)
Posted 知
篇首语:时人不识凌云木,直待凌云始道高。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 JavaDoc,在 Java 的注释上做文章(下)相关的知识,希望对你有一定的参考价值。
JavaDoc,在 Java 的注释上做文章(下) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
使用 @author @version 说明类 这两个标记分别用于指明类的作者和版本 缺省情况下 javadoc 将其忽略 但命令行开关 author 和 version 可以修改这个功能 使其包含的信息被输出 这两个标记的句法如下 @author 作者名 @version 版本号 其中 @author 可以多次使用 以指明多个作者 生成的文档中每个作者之间使用逗号 ( ) 隔开 @version 也可以使用多次 只有第一次有效 生成的文档中只会显示第一次使用 @version 指明的版本号 如下例 /** * @author Fancy * @author Bird * @version Version * @version Version */ public class TestJavaDoc 生成文档的相关部分如图 从生成文档的图示中可以看出 两个 @author 语句都被编译 在文档中生成了作者列表 而两个 @version 语句中只有第一句被编译了 只生成了一个版本号 从图上看 作者列表是以逗号分隔的 如果我想分行显示怎么办?另外 如果我想显示两个以上的版本号又该怎么办? ——我们可以将上述两条 @author 语句合为一句 把两个 @version 语句也合为一句 @author Fancy<br>Bird @version Version <br>Version 结果如图 我们这样做即达到了目的 又没有破坏规则 @author 之后的作者名和 @version 之后的版本号都可以是用户自己定义的任何 HTML 格式 所以我们可以使用 <br> 标记将其分行显示 同时 在一个 @version 中指明两个用 <br> 分隔的版本号 也没有破坏只显示第一个 @version 内容的规则 使用 @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 * @exception NullPointerException throw when parameter n is null */ public boolean fun(Integer n) throws Exception switch (n intValue()) case : break; case : throw new Exception( Test Only ); default: return false; return true; 使用 javadoc 编译生成的文档相关部分如下图 可以看到 上例中 @param b excrescent parameter 一句是多余的 因为参数只是一个 n 并没有一个 b但是 javadoc 编译时并没有检查 因此 写文档注释时一定要正确匹配参数表与方法中正式参数表的项目 如果方法参数表中的参数是 a 文档中却给出对参数 x 的解释 或者再多出一个参数 i 就会让人摸不著头脑了 @exceptin 也是一样 上例程序中并没有抛出一个 NullPointerException 但是文档注释中为什么要写上这么一句呢 难道又是为了演示?这不是为了演示描述多余的异常也能通过编译 而是为了说明写异常说明时应考运行时 (RunTime) 异常的可能性 上例程序中 如果参数 n 是给的一个空值 (null) 那么程序会在运行的时候抛出一个 NullPointerException 因此 在文档注释中添加了对 NullPointerException 的说明 上例中的 @return 语句有两个 但是根据规则 同一个方法中 只有第一个 @return 有效 其余的会被 javadoc 忽略 所以生成的文档中没有出现第二个 @return 的描述 讲到这里 该怎么写文档注释你应该已经清楚了 下面就开始讲解 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) 和 个类 那么编译时 (Windows 环境) 可以使用如下 javadoc 命令 javadoc fancy\\Test java fancy\\Editor java fancy\\editor\\ECommand java fancy\\editor\\EDocument java fancy\\editor\\EView java 这是给出 java 源文件作为编译参数的方法 注意命令中指出的是文件路径 应该根据实际情况改变 也可以是给出包名作为编译参数 如 javadoc fancy fancy editor 用浏览器打开生成文档的 l 文件即可发现两种方式编译结果的不同 如下图 用第二条命令生成的文档被框架分成了三部分 包列表 类列表和类说明 在包列表中选择了某个包之后 类列表中就会列出该包中的所有类 在类列表中选择了某个类之后 类说明部分就会显示出该类的详细文档 而用第一条命令生成的文档只有两部分 类列表和类说明 没有包列表 这就是两种方式生成文档的最大区别了 两种方式编译还有一点不同 下面再来细说选项 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 真的能让我们在 Java 注释上做文章——生成开发文 cha138/Article/program/Java/JSP/201311/19745相关参考
一Java文档 //注释一行 /**/注释若干行 /***/注释若干行并写入javadoc文档 通常这种注释的多行写法如下 /** * * */ javadocd文档存放目录au
注释块标记 标记的顺序 块标记将采用如下顺序 … * *@param(classesinterfacesmethodsandconstructorsonly) *@retu
知识大全 使用javascript过滤html的字符串(注释标记法)
本篇文章是对使用javascript过滤的字符串进行了详细的分析介绍需要的朋友参考下 复制代码代码如下:cha138/Article/program/Java/JSP/201311
使用Javadoc标记你需要的信息 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Java本身附
API文件产生器-javadoc.exe 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Java
分析用Javadoc形式集成文档的利与弊 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Java
Java元数据总结:Java注释的使用和定义 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 元数
漫谈Java加密技术系列文章一至十 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 漫谈Java加
利用Ecipse生成Javadoc乱码解决方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!这里面
一篇不错的介绍JavaSocket编程的文章 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 事实