疯狂Java笔记:3.1 注释

本文介绍Java中的注释类型及用途,特别是文档注释如何使用javadoc工具生成API文档,包括单行、多行注释及文档注释的详细说明。

3.1 注释

  • 用于说明某段代码的作用,某个类的用途,某个方法的功能以及该方法的参数和返回值的数据类型及意义

  • 作用:

    • 再次阅读代码时能找回当初的思路
    • 程序的可读性取代执行效率成为第一考虑的要素,便于团队成员沟通
    • 代码即文档。规范的程序源代码是程序文档的重要组成成分,注释占到源代码1/3

3.1.1 单行注释和多行注释

/**
 * 文档注释
 * @author 梦无涯
 * @version 1.0
 */
public class HelloWorld{
    // 单行注释
    public static void main(String args[]){
        /*
          区域注释
          注释可用于调试程序,缩小错误范围,有利于排错
          System.out.println("这行代码被注释了,不会被执行");
        */
    }
}

3.1.2 文档注释

  • 开发者可以通过JDK提供的javadoc工具将源文件里的文档注释提取生成系统API。其他开发者可以通过调用 应用程序接口[API] 编程
  • API:程序的说明文档,说明类,接口,方法,成员变量,构造器,内部类的功能及用法。
  • 传送门:JDK6 中文版API
  • 传送门:JDK8 英文版API
  • javadoc 工具默认只处理源文件在public、protected修饰的类、接口、方法、成员变量、构造器、内部类之前的文档注释,忽略其他地方的文档注释。
  • javadoc 标记:
    • @author:指定 Java程序 的作者
    • @version:指定 源文件 的版本
    • @deprecated:不推荐使用的方法
    • @param/@return:方法的参数/返回值的说明信息
    • @see:”参见”,用于指定交叉参考的内容
    • @exception/@throws:抛出的异常的类型
  • javadoc 标记 使用位置的限制:
    • 类/接口:@see/@deprecated/@author/@version
    • 方法/构造器:@see/@deprecated/@param/@return/@exception/@throws
    • 成员变量:@see/@deprecated
  • 提取文档注释的cmd命令:javadoc -Option ClassName.java/package[类文件名.java/包名]

    Option:
        -d <dir>:指定一个路径,用于将生成的API文档放到该指定目录
        -windowtitle <text>:指定一个字符串,用于设置API文档的浏览器窗口标题
        -doctitle <html-code>:指定一个HTML格式的文本,用于指定概述页面的标题
        -header <html-code>:指定一个HTML格式的文本,包含每个页面的页眉
        -version -author -private:提取文档注释中的这三个javadoc标记[默认不提取]
    示例:
    javadoc -d apiTest -windowtitle 窗口标题 -doctitle 概述页面标题 -header 页眉 -version   -pirvate -author HelloWorld.java // [测试javadoc命令所有选项]
    javadoc -d apiTest jwz jwz1 // [提取该路径下的两个package,jwz和jwz1]
    javadoc -d apiTest *.java // [ 通配符* 代表当前路径下所有.java文件]
  • 注意:API 的包注释并不是直接放在源文件中,而是必须通过一个包描述文件[标准 HTML文件]另外指定。

    包描述文件通常名为package.html,并与该包下所有 Java 源文件放在一起

  • 以下示例几乎涵盖了所有javadoc标记及其使用限制位置,读者可参照着尽可能多的尝试文档注释相关的内容,熟悉javadoc命令的用法,完成单个类,多个类,具有包结构的文档注释的提取

  • 提取包层次结构的文档注释的步骤示例:

    1. 编辑源文件 HelloWorld.java 如下:

      package jwz;
      /**
      * Description:
      * <br>文档注释 测试类
      * <br>本类是完整的Java类示例
      * @author 1595486364@qq.com
      * @version 1.0
      */
      public class HelloWorld{
         /**
          * 这是public成员变量的文档注释,默认被提取
          * @deprecated 该变量已过时
          * @see 私有成员变量name1
          */
         public String name;
      
         /**
          * 这是私有成员变量的文档注释,必须在javadoc提取时指定 -private选项才能被提取
          */
         private String name1;
      
         /**
          * 构造器
          * @return 构造器没有返回值,通过new关键字调用构造器并返回初始化的对象
          */
         public HelloWorld(){
             name="小傻逼";
             try{
                 System.out.println(hello(name));
             }catch(Exception e){
                 System.out.println("异常了");
             }
         }
      
         /**
          * 这是一个向人打招呼的方法
          * @param  name      对方的名字
          * @return String    该方法返回打招呼的字符串
          * @throws Exception 这是该方法可能抛出的异常
          * @deprecated 该方法已经不推荐使用
          * @see main方法
          */
         public String hello(String name) throws Exception{
             return name+",你好!";
         }
      
         /**
          * 主方法,程序的入口,JVM从此处开始执行本程序
          * @param args[] 这是主方法的默认参数
          */
         public static void main(String args[]){
             System.out.println("Hello World!");
             new HelloWorld();
             //System.out.println("该行被注释掉了,不会被编译、执行!");
         }
      }
    2. 将 HelloWorld.java 保存在 任意路径 ..\jwz 文件夹下,并编写 jwz包 的包描述文件 package.html [新建文本文档,改后缀名为html即可]如下:

      <!DOCTYPE html>
      <html>
         <head>
             <title>jwz的包描述文件</title>
         </head>
         <body>
             jwz的包描述文件
         </body>
      </html>
    3. 保存 package.html 到上述 jwz 文件夹下,包描述文件的目录结构如下:
      包描述文件的结构
    4. 重复上述步骤建立第二个包 jwz1,并增加SimpleClass.java和package.html

      package jwz1;
      /**
      * [@description]最简单的Java类
      * @deprecated [@deprecated]该类是Java最简单的类--空类,已过时
      * @see [@see]完整的Java类--HelloWorld.java
      * @author [@author]jwz,1595486364@qq.com
      * @version 1.0[@version]
      */
      public class SimpleCalss{
      
      }
    5. 在 jwz、jwz1包的上级目录[该例中上级目录为API_Test]打开命令行窗口[cmd][鼠标右击文件夹有该选项],输入以下命令:javadoc -d apiTest jwz jwz1
      注意:源文件的编码字符集为GBK
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值