Java文档注释超详细讲解

 更新时间:2023年10月07日 15:11:21   作者:太极-彼岸  
这篇文章主要给大家介绍了关于Java文档注释的相关资料,文档注释主要是用来生成java开发文档javadoc的,生成的开发文档和Java本身的API帮助文档是一样的,需要的朋友可以参考下

Java只是三种注释方式。前两种分别是// 和/* */,第三种被称作说明注释,它以/** 开始,以 */结束。

说明注释允许你在程序中嵌入关于程序的信息。你可以使用javadoc工具软件来生成信息,并输出到HTML文件中。

说明注释,是你更加方面的记录你的程序的信息。

javadoc 标签

javadoc工具软件识别以下标签:

标签描述示例
@author标识一个类的作者@author description
@deprecated指名一个过期的类或成员@deprecated description
{@docRoot}指明当前文档根目录的路径Directory Path
@exception标志一个类抛出的异常@exception exception-name explanation
{@inheritDoc}从直接父类继承的注释Inherits a comment from the immediate surperclass.
{@link}插入一个到另一个主题的链接{@link name text}
{@linkplain}插入一个到另一个主题的链接,但是该链接显示纯文本字体Inserts an in-line link to another topic.
@param说明一个方法的参数@param parameter-name explanation
@return说明返回值类型@return explanation
@see指定一个到另一个主题的链接@see anchor
@serial说明一个序列化属性@serial description
@serialData说明通过writeObject( ) 和 writeExternal( )方法写的数据@serialData description
@serialField说明一个ObjectStreamField组件@serialField name type description
@since标记当引入一个特定的变化时@since release
@throws和 @exception标签一样.The @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

文档注释

在开始的/**之后,第一行或几行是关于类、变量和方法的主要描述.

之后,你可以包含一个或多个何种各样的@标签。每一个@标签必须在一个新行的开始或者在一行的开始紧跟星号(*).

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

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

/*** This class draws a bar chart.
* @author Zara Ali
* @version 1.2
*/

javadoc输出什么

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

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

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

实例

下面是一个使用说明注释的简单实例。注意每一个注释都在它描述的项目的前面。

在经过javadoc处理之后,SquareNum类的注释将在SquareNum.html中找到。

import java.io.*;
/**
* This class demonstrates documentation comments.
* @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);
   }
}

如下,使用javadoc工具处理SquareNum.java文件:

$ javadoc SquareNum.java
Loading source file SquareNum.java...
Constructing Javadoc information...
Standard Doclet version 1.5.0_13
Building tree for all the packages and classes...
Generating SquareNum.html...
SquareNum.java:39: warning - @return tag cannot be used\
                      in method with void return type.
Generating package-frame.html...
Generating package-summary.html...
Generating package-tree.html...
Generating constant-values.html...
Building index for all the packages and classes...
Generating overview-tree.html...
Generating index-all.html...
Generating deprecated-list.html...
Building index for all classes...
Generating allclasses-frame.html...
Generating allclasses-noframe.html...
Generating index.html...
Generating help-doc.html...
Generating stylesheet.css...
1 warning
$

总结 

到此这篇关于Java文档注释的文章就介绍到这了,更多相关Java文档注释内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java分布式面试CAP分别代表含义分析

    java分布式面试CAP分别代表含义分析

    这篇文章主要为大家介绍了java分布式面试中关于CAP分别代表含义的问题分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • Java中的CyclicBarrier循环栅栏解析

    Java中的CyclicBarrier循环栅栏解析

    这篇文章主要介绍了Java中的CyclicBarrier循环栅栏解析,从字面上的意思可以知道,这个类的中文意思是"循环栅栏",大概的意思就是一个可循环利用的屏障,它的作用就是会让所有线程都等待完成后才会继续下一步行动,需要的朋友可以参考下
    2023-12-12
  • 详解Java内存管理中的JVM垃圾回收

    详解Java内存管理中的JVM垃圾回收

    这篇文章给大家分享了关于Java内存管理中的JVM垃圾回收的相关知识点内容,有兴趣的朋友们可以学习参考下。
    2018-08-08
  • 浅谈使用setBounds()方法需要注意的地方

    浅谈使用setBounds()方法需要注意的地方

    下面小编就为大家带来一篇浅谈使用setBounds()方法需要注意的地方。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • java实现单词搜索迷宫游戏

    java实现单词搜索迷宫游戏

    这篇文章主要介绍了java实现单词搜索迷宫游戏,实例分析了迷宫游戏的实现技巧,需要的朋友可以参考下
    2015-05-05
  • SpringBoot AOP中JoinPoint的使用方式和通知切点表达式

    SpringBoot AOP中JoinPoint的使用方式和通知切点表达式

    这篇文章主要介绍了SpringBoot AOP中JoinPoint的使用方式和通知切点表达式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Spring @Bean vs @Service注解区别

    Spring @Bean vs @Service注解区别

    本篇文章主要介绍了Spring @Bean vs @Service注解区别,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Spring框架配置java web实现实例化

    Spring框架配置java web实现实例化

    这篇文章主要介绍了Spring框架配置java web实现实例化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 如何获取springboot打成jar后的classpath

    如何获取springboot打成jar后的classpath

    这篇文章主要介绍了如何获取springboot打成jar后的classpath问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Java IO篇之Reactor 网络模型的概念

    Java IO篇之Reactor 网络模型的概念

    Reactor 模式也叫做反应器设计模式,是一种为处理服务请求并发提交到一个或者多个服务处理器的事件设计模式,Reactor 模式主要由 Reactor 和处理器 Handler 这两个核心部分组成,本文给大家介绍Java IO篇之Reactor 网络模型的概念,感兴趣的朋友一起看看吧
    2022-01-01

最新评论