Java_javadoc 书写规范 以及 命令


由于项目需要,需要注意书写规范,在方法跟类上的注释需要遵循 javadoc 规范,对 javadoc 规范做一个记录,方便大家。


一  引言

基本注释:


// 注释一行
/* ...... */ 注释若干行



Javadoc 说明:


/** ...... */ 注释若干行,并写入 javadoc 文档



===========



命令简介:


javadoc -d 文档存放目录 -author -version 源文件名.java

这条命令编译一个名为"源文件名.java"的 java 源文件,并将生成的文档存放在"文档存放目录"指定的目录下,生成的文档中 index.html 就是文档的首页。

-author 和 -version 两个选项可以省略。




二. 文档注释的格式


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


生成的文档是 HTML 格式,而这些 HTML 格式的标识符并不是 javadoc 加的,而是我们在写注释的时候写上去的。

比如,需要换行时,不是敲入一个回车符,而是写入 <br>,如果要分段,就应该在段前写入 <p>。

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

如:


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


注意  是<br>  而不是 <br/>   <br><br/> !!!!! 否则会导致执行javadoc 报错


2. 文档注释的三部分


举例:

/**
     * show 方法的简述.
     * <p>
     *     show 方法的详细说明第一行<br>
     *     show 方法的详细说明第二行
     * @param b true 表示显示,false 表示隐藏
     * @return 没有返回值
     */
    public void show(boolean b) {
        System.out.println("time : ");
    }


第一部分是简述。

   文档中,对于属性和方法都是先有一个列表,然后才在后面一个一个的详细的说明。 

简述部分写在一段文档注释的最前面,第一个点号 (.) 之前 (包括点号)。

换句话说,就是用第一个点号分隔文档注释,之前是简述,之后是第二部分和第三部分。


-------------


第二部分是详细说明部分。

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

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


简述也在其中。这一点要记住了


--------------

第三部分是特殊说明部分。

  这部分包括版本说明、参数说明、返回值说明等。

     * @param b true 表示显示,false 表示隐藏
     * @return 没有返回值




三. 使用 javadoc 标记


javadoc 标记由"@"及其后所跟的标记类型和专用注释引用组成

javadoc 标记有如下一些:

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

@version 标明该类模块的版本 

@see 参考转向,也就是相关主题 

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

@return 对方法返回值的说明 

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


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


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





四. 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


可以直接编译类:

javadoc fancy\Test.java fancy\Editor.java fancy\editor\ECommand.java fancy\editor\EDocument.java fancy\editor\EView.java


也可以是给出包名作为编译参数,如:javadoc fancy fancy.editor

可以自己看看这两种方法的区别


到此为止javadoc就简单介绍完了,想要用好她还是要多用,多参考标准java代码(可参考JDK安装目录下的src源文件包)



五.简单的示例


java文件

/**
 * Created by szh on 2017/11/10.
 *
 * @author szh
 */
public class Test {


    /***
     * getCurrentTime 获取当前的时间
     * <p>
     *     这个是方法的详细描述<br>
     *     另起一行就行描述:啊哈哈哈<br>
     *     </p>
     * @param kk  无效参数,并没有被使用到
     * @return long类型  当前的时间
     */
    public long getCurrentTime(int kk) {
        return System.currentTimeMillis();
    }


    /**
     * show 方法的简述.
     * <p>
     *     show 方法的详细说明第一行<br>
     *     show 方法的详细说明第二行
     * @param b true 表示显示,false 表示隐藏
     * @return 没有返回值
     */
    public void show(boolean b) {
        System.out.println("time : ");;
    }

    public static void main(String[] args) {

        long time = new Test().getCurrentTime(22);
        System.out.println("time : " + time);
    }

}



切换到具体目录下 执行 javadoc 指令

javadoc -encoding UTF-8 Test.java


注意 要加 -encoding UTF-8

参见文档  



解决 java “错误:编码GBK 的不可映射字符”

http://blog.csdn.net/l1028386804/article/details/46583279

可以看到文件夹下面生成了对应的 doc 文件




打开index,html 进行查看




完 !!!



参考文章

1.Javadoc注释的用法   https://www.cnblogs.com/bluestorm/archive/2012/10/04/2711329.html

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值