Javadoc标签和Javadoc注释规范说明

时间:2021-08-24 07:46:41

最近看源码,一些Javadoc常见的注释整理下

Javadoc是Sun公司提供的一个技术,从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。

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

javadoc 源文件名.java

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

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

javadoc标签

 

标签 说明
@author 作者标识
@version 版本号
@return 对函数返回值的描述
@deprecated 标识过期API(为了保证兼容性,仍可用,但不推荐用)
@throws 构造函数或方法会抛出的异常
@exception 同@throws
@see 引用,查看相关的内容,如类,方法,变量等,必须顶头写
{@link 包.类#成员} 引用,同@see,但可写在任意位置
{@value} 对常量注释,如果其值包含在文档中,通过改标签引用常量的值
{@code}} {@code text}将文本标记为code,会被解析成 text } ,在Javadoc成只要涉及到类名或者方法名,都需要使用@code进行标记
@param 说明方法的参数
@inheritDoc 用于继承父类中的Javadoc,父类的文档注释,被继承到了子类

javadoc注释规范

 

一、 Java文档

?
1
2
3
// 注释一行
/ *  */ 注释若干行
/**  ……*/ 注释若干行,写入Javadoc文档

二、文档格式

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

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

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

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

?
1
2
3
生成文档是HTML格式。
换行<br>
分段<p>(写在段前))

示例

?
1
2
3
4
5
6
7
8
9
10
/**
* show 方法的简述.
* <p>show 方法的详细说明第一行<br>
* show 方法的详细说明第二行
* @param b true 表示显示,false 表示隐藏
* @return 没有返回值
*/
public void show(boolean b) {
  frame.show(b);
  }

补充:Java的三种注释 Javadoc标记*

三种注释方法:

1、单行注释 //注释的内容

2、多行注释 /*......*/

3、/**......*/,这种方式和第二种方式相似。这种格式是为了便于javadoc程序自动生成文档。

下面介绍一下Javadoc的标记:

JavaDoc 标 记

解释

@version

指定版本信息

@since

指定最早出现在哪个版本

@author

指定作者

@see

生成参考其他的JavaDoc文档的连接

@link

生成参考其他的JavaDoc文档,它和@see标记的区别在于,@link标记能够嵌入到注释语句中,为注释语句中的特殊词汇生成连接。 eg.{@link Hello}

@deprecated

用来注明被注释的类、变量或方法已经不提倡使用,在将来的版本中有可能被废弃

@param

描述方法的参数

@return

描述方法的返回值

@throws

描述方法抛出的异常,指明抛出异常的条件

特别声明:

(1)javadoc针对public类生成注释文档

(2)javadoc只能在public、protected修饰的方法或者属性之上

(3)javadoc注释的格式化:前导*号和HTML标签

(4)javadoc注释要仅靠在类、属性、方法之前

下面主要举例说明第三种注释的应用:

(1)首先编写.java文件

(2)在命令行中执行以下dos命令:

javadoc *.java //根据相应的Java源代码及其说明语句生成HTML文档

//javadoc标记:是@开头的,对javadoc而言,特殊的标记。

(3)在当前目录下就会产生doc文件夹,里面有一系列的.html文件

附上代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<span style="font-size:18px;">*/
/**javadoc注释的内容
*/
public class Hello{
  /**属性上的注释*/
  public String name;
  /**这是main方法,是程序的入口
  *@param args 用户输入参数
  */
  public static void main(String[] args){
 System.out.println("Hello World!");
    f1();
  }
  /** 这是第1个方法,其作用是...*/
  public static void f1(){
   System.out.println("f1()!");
  }
}</span>
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<span style="font-size:18px;">import java.io.IOException;
/**javadoc注释内容
*@since 1.0
*@version 1.1
*@author Blue Jey
*<br>链接到另一个文档{@link Hello},就这些
*see Hello
*/
public class HelloWorld{
 /**非public,protected 属性上的注释不生成*/
 public String name;
 /**这是main方法,是程序的入口
 *@param args 用户输入的参数,是数组
 *@throws IOException main方法io异常
 */
 public static void main(String args[]) throws IOException{
 System.out.println("hello World!");
 
 f1();
 f2(1);
 }
 /**这是第一个方法,其作用是....
 *@deprecated 从版本1.2开始,不再建议使用此方法
 */
 public static void f1(){
 System.out.println("fl()!");
 }
 /**这是第二个方法,其作用是....
 *@return 返回是否OK
 *@param i 输入参数i
 *@see Hello
 *@throws IOException io异常
 */
 public static String f2(int i)throws IOException{
 System.out.println("f1()!");
 return "OK";
 }
 } </span>

注意:

如果源文件中有用到@version,@author标记,则在执行javadoc命令时,要加-version -author

?
1
javadoc -version -author -d doc *.java

(其中用-version用于提取源文件中的版本信息 -author用于提取源文件中的作者信息)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://blog.csdn.net/linton1/article/details/93733508