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 方法的简述.

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

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

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

* @return 没有返回值

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

三、Javadoc的基本用法

文档格式:

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

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

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

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

生成文档是HTML格式。

换行<br>

分段<p>(写在段前))

示例:


示例

在注释中出现以@开头东东被称之为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} 会被解析成<code> text </code>

将文本标记为代码样式的文本,在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)能够描述业务含义,使其他程序员能够迅速了解代码背后的信息。完全没有注释的大段代码对于阅读者形同天书;注释是给自己看的,应做到即使间隔很长时间,也能清晰理解当时的思路,注释也是给继任者看的,使其能够快速接替自己的工作。

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,470评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,393评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,577评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,176评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,189评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,155评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,041评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,903评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,319评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,539评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,703评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,417评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,013评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,664评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,818评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,711评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,601评论 2 353