【Java基础】JavaDoc注释标签大全

文章目录

一.Java注释方式

Java 支持三种注释方式。分别是

  1. 单号注释 //
  2. 多行注释 /* */
  3. 文档注释,它以 /** 开始,以 */结束。

    可以使用 javadoc 工具软件来生成信息,并输出到HTML文件中。

二.JavaDoc注释用法

在开始的 /**之后,第一行或几行是关于类、变量和方法的主要描述。之后,你可以包含一个或多个各种各样的 @ 标签每一个 @ 标签必须在一个新行的开始或者在一行的开始紧跟星号(*).

  • 多个相同类型的标签应该放成一组。例如,如果你有三个 @see 标签,可以将它们一个接一个的放在一起。

下面是一个类的说明注释的实例:

/*** 这个类绘制一个条形图
* @author runoob
* @version 1.2
*/

三.JavaDoc注释会输出什么

javadoc 工具将你 Java 程序的源代码作为输入,输出一些包含你程序注释的HTML文件。

每一个类的信息将在独自的HTML文件里。javadoc 也可以输出继承的树形结构和索引。

由于 javadoc 的实现不同,工作也可能不同,你需要检查你的 Java 开发系统的版本等细节,选择合适的 Javadoc 版本。

四.JavaDoc注释常用标签

1.@see

  • 使用@see时应注意 写在每行注释的开头。
  • 用法:@see 类#属性 / 方法
/**
 * @see ClassA#属性
 * @see ClassA#方法
 * @see com.joh.demo.ClassB#方法
 */

JavaDoc注解中的{@link}与@see,他可以链接类或者方法,方便自己或别人看的时候,可以直接找到你关联的代码类或者啥的。

在编辑器中,按住ctrl+鼠标左键,就能直接跳转

2.{@link}

  • {@link}的使用与@see有一点区别就是可以写在注释的任意位置
  • 用法:{@link 类#属性 / 方法}
/**
 * {@link ClassA#属性}
 * {@link ClassA#方法}
 * {@link com.joh.demo.ClassB#方法}
 * 
 * 可不用开头写 {@link ClassA#属性}
 * 可不用开头写 {@link ClassA#方法}
 * 可不用开头写 {@link com.joh.demo.ClassB#方法}
 */

JavaDoc注解中的{@link}与@see,他可以链接类或者方法,方便自己或别人看的时候,可以直接找到你关联的代码类或者啥的。

在编辑器中,按住ctrl+鼠标左键,就能直接跳转

3.其他JavaDoc标签

标签 描述 示例
@author 标识一个类的作者 @author description
@deprecated 指名一个过期的类或成员 @deprecated description
{@docRoot} 指明当前文档根目录的路径 Directory Path
@exception 标志一个类抛出的异常 @exception exception-name explanation
{@inheritDoc} 从直接父类继承的注释 Inherits a comment from the immediate surperclass.
{@link} 插入一个到另一个方法或者代码的链接,但是该链接显示链接样式 Inserts an in-line link to another topic.
{@linkplain} 插入一个到另一个方法或者代码的链接,但是该链接显示纯文本字体 Inserts an in-line link to another topic.
@param 说明一个方法的参数 @param parameter-name explanation
@return 说明返回值类型 @return explanation
@serial 说明一个序列化属性 @serial description
@serialData 说明通过writeObject( ) 和 writeExternal( )方法写的数据 @serialData description
@serialField 说明一个ObjectStreamField组件 @serialField name type description
@throws 和 @exception标签一样.,说明要抛出的异常 @throws tag has the same meaning as the @exception tag.
{@value} 显示常量的值,该常量必须是static属性。 Displays the value of a constant, which must be a static field.
@version 指定类的版本 @version info

实例代码

/**
* 这个类演示了文档注释
* @author Ayan Amhed
* @version 1.2
*/
public class SquareNum {
   /**
   * This method returns the square of num.
   * This is a multiline description. You can use
   * as many lines as you like.
   * @param num The value to be squared.
   * @return num squared.
   */
   public double square(double num) {
      return num * num;
   }
   /**
   * This method inputs a number from the user.
   * @return The value input as a double.
   * @exception IOException On input error.
   * @see IOException
   */
   public double getNumber() throws IOException {
      InputStreamReader isr = new InputStreamReader(System.in);
      BufferedReader inData = new BufferedReader(isr);
      String str;
      str = inData.readLine();
      return (new Double(str)).doubleValue();
   }
   /**
   * This method demonstrates square().
   * @param args Unused.
   * @return Nothing.
   * @exception IOException On input error.
   * @see IOException
   */
   public static void main(String args[]) throws IOException
   {
      SquareNum ob = new SquareNum();
      double val;
      System.out.println("Enter value to be squared: ");
      val = ob.getNumber();
      val = ob.square(val);
      System.out.println("Squared value is " + val);
   }
}

4.文档注释模板

类注释

/*
 * <p>项目名称: ${project_name} </p> 
 * <p>文件名称: ${file_name} </p> 
 * <p>描述: [类型描述] </p>
 * <p>创建时间: ${date} </p>
 * <p>公司信息: ************公司 *********部</p> 
 * @author <a href="mail to: *******@******.com" rel="nofollow">作者</a>
 * @version v1.0
 * @update [序号][日期YYYY-MM-DD] [更改人姓名][变更描述]
 */

方法注释

/**
 * @Title:${enclosing_method}
 * @Description: [功能描述]
 * @Param: ${tags}
 * @Return: ${return_type}
 * @author <a href="mail to: *******@******.com" rel="nofollow">作者</a>
 * @CreateDate: ${date} ${time}</p> 
 * @update: [序号][日期YYYY-MM-DD] [更改人姓名][变更描述]     
 */

getter 和 setter方法注释

/**
 * 获取  ${bare_field_name}
 */



/**
 * 设置   ${bare_field_name} 
 * (${param})${field}
 */

参考

Java文档注释用法+JavaDoc的使用详解

上一篇:包机制和javaDoc


下一篇:java基础1-变量+包机制+javadoc命令