Javadoc注释基本介绍和基本用法

一、Javadoc的基本信息:

javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过Javadoc就可以同时形成程序的开发文档了。javadoc命令是用来生成自己API文档的,使用方式:使用命令行在目标文件所在目录输入javadoc +文件名.java。

  Javadoc主要用于代码的注释规范性。


Javadoc命令是用来生成自己的API文档,使用方式:

javadoc 源文件名.java

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

通过IDEA生成Javadoc : Tools -> Generate JavaDoc

二、 Javadoc注释规范 :

// 注释一行

/ *    */ 注释若干行 

/**  ……*/  注释若干行,写入Javadoc文档

如图:

效果图

代码:

/**

* show 方法的简述.

*

show 方法的详细说明第一行

* show 方法的详细说明第二行

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

* @return 没有返回值

*/ public void show(boolean b) {    frame.show(b);    }

三、Javadoc的基本用法

文档格式:

 写在类上的文档标注一般分为三段:

第一段:概要描述,通常用一句或者一段话简要描述该类的作用,以英文句号作为结束

第二段:详细描述,通常用一段或者多段话来详细描述该类的作用,一般每段话都以英文句号作为结束

第三段:文档标注,用于标注作者、创建时间、参阅类等信息

生成文档是HTML格式。

换行

分段

(写在段前))

示例:


示例

在注释中出现以@开头东东被称之为Javadoc文档标记,是JDK定义好的,如@author、@version、@since、@see、@link、@code、@param、@return、@exception、@throws等。    

主要的文档标记

源自百度百科

1. @link:{@link 包名.类名#方法名(参数类型)} 用于快速链接到相关代码

@link的使用语法{@link 包名.类名#方法名(参数类型)},其中当包名在当前类中已经导入了包名可以省略,可以只是一个类名,也可以是仅仅是一个方法名,也可以是类名.方法名,使用此文档标记的类或者方法,可用通过按住Ctrl键+单击 可以快速跳到相应的类或者方法上,解析成html其实就是使用< code> 包名.类名#方法名(参数类型)< /code>

2. @code: {@code text} 将文本标记为code

{@code text} 会被解析成 text

将文本标记为代码样式的文本,在code内部可以使用 < 、> 等不会被解释成html标签, code标签有自己的样式

一般在Javadoc中只要涉及到类名或者方法名,都需要使用@code进行标记。

3. @param

一般类中支持泛型时会通过@param来解释泛型的类型

4. @author

详细描述后面一般使用@author来标记作者,如果一个文件有多个作者来维护就标记多个@author,@author 后面可以跟作者姓名(也可以附带邮箱地址)、组织名称(也可以附带组织官网地址)

5. @see

@see 一般用于标记该类相关联的类,@see即可以用在类上,也可以用在方法上。

6. @since 从以下版本开始

@since 一般用于标记文件创建时项目当时对应的版本,一般后面跟版本号,也可以跟是一个时间,表示文件当前创建的时间

7. @version 版本

@version 用于标记当前版本,默认为1.0

8. @param

@param 后面跟参数名,再跟参数描述

9. @return

@return 跟返回值的描述

10. @value

用于标注在常量上,{@value} 用于表示常量的值

此外还有@serial、@serialField、@serialData、{@docRoot}、{@inheritDoc}、{@literal}、{@code} {@value arg}几个不常用的标签,由于不常使用,我们不展开叙述,感兴趣的读者可以查看帮助文档。

(1)概要描述:通常用一句或者一段话简要描述该类的作用, 如:


描述该类的作者和版本

如上图利用author和version描述了该类的作者和版本

切记:当Java源代码中包含中文字符时,我们在用javac编译时会出现“错误:编码GBK的不可映射字符”。

如图

由于JDK是国际版的,我们在用javac编译时,编译程序首先会获得我们操作系统默认采用的编码格式(GBK),然后JDK就把Java源文件从GBK编码格式转换为Java内部默认的Unicode格式放入内存中,然后javac把转换后的Unicode格式的文件编译成class类文件,此时,class文件是Unicode编码的,它暂存在内存中,紧接着,JDK将此以Unicode格式编码的class文件保存到操作系统中形成我们见到的class文件。当我们不加设置就编译时,相当于使用了参数:javac -encoding GBK Test.java,就会出现不兼容的情况。

使用-encoding参数指明编码方式:javac -encoding UTF-8 Test.java,就可以了。

更改编码方式为UTF-8

当更改编码方式为UTF-8时就可以就行生成含有中文字符的API文档

API文档

打开生成API文档查看刚刚定义的javadoc注释


效果图

当然你要是定义的英文注释就直接忽视编码问题

最后看一下阿里巴巴的Javadoc注释规范

阿里巴巴Java开发手册之注释规约:

类,类属性、类方法的注释必须使用Javadoc规范,使用/*内容/格式,不得使用//XX方式。

所有的抽象方法(包括接口中的方法)必须要用Javadoc注释,除了返回值、参数、异常说明外,还必须指出该方法做什么事情,实现什么功能。

所有的类都必须添加创建者和创建日期。

方法内部的单行注释,在被注释语句上方另起一行,使用//注释。方法内部的多行注释,使用/* */注释,注意与代码对齐。

所有的枚举类型字段必须要有注释,说明每个数据项的用途。

与其用不熟练的英文来注释,不如用中文注释把问题说清楚。专有名词与关键字保持英文原文即可。

在修改代码的同时,要对注释进行相应的修改,尤其是参数,返回值,异常,核心逻辑等的修改。

谨慎注释掉代码。要在上方详细说明,而不是简单的注释掉。如果无用,则删除。

对于注释的要求:

(1)能够准确反映设计思想和代码逻辑。

(2)能够描述业务含义,使其他程序员能够迅速了解代码背后的信息。完全没有注释的大段代码对于阅读者形同天书;注释是给自己看的,应做到即使间隔很长时间,也能清晰理解当时的思路,注释也是给继任者看的,使其能够快速接替自己的工作。

好的命名、代码结构是自解释的,注释力求精简准确、表达到位。避免出现注释的一个极端:过多过滥的注释,因为代码的逻辑一旦修改,修改注释是相当大的负担。

特殊注释标记,请标明标记人与标记时间。注意及时处理这些标记,通过标记扫描经常处理此类标记。有时候线上故障就来源于这些标记处的代码。

你可能感兴趣的:(Javadoc注释基本介绍和基本用法)