Java里注释有哪几种写法_Java代码注释规范说明

Java注释只有三种合法形式:单行注释//、多行注释/.../、文档注释/.../;//从本行起至末尾被忽略,不可在字符串内使用;/.../不支持嵌套,首个/即终止;/...*/须严格配对且紧贴程序元素,供javadoc解析。

Java 里注释只有三种合法写法,其他所谓“注释”要么是语法错误,要么是编译器忽略的垃圾字符。

单行注释用 //

// 开始到本行末尾全部被忽略,支持出现在行首、代码后、空格后,但不能在字符串或字符字面量中使用(否则会破坏字符串结构)。

  • 常见误用:String s = "hello // world"; —— 这里的 // 是字符串内容,不是注释
  • 可嵌套在语句后:int x = 1; // 初始化计数器
  • 连续多行需每行都加:// 第一行// 第二行,不能只写一个 // 跨多行

多行注释用 /* ... */

匹配成对的 /**/,中间所有内容(包括换行、空格、代码)全被跳过。不支持嵌套 —— 第一个 */ 就结束注释,后续哪怕还有 /* 也会被当普通文本处理。

  • 典型翻车现场:
    /*
     * int i = 0;
     /* 嵌套注释?错 */
     * i++;
     */
    —— 实际在第一个 */ 处就结束了,后面 * i++; 会报编译错

  • 适合临时屏蔽大段代码,但别用来写文档(IDE 不识别,javadoc 工具也不解析)
  • 行内也可用:int /* 被注释掉的 */ y = 2;,但可读性差,不推荐

文档注释用 /** ... */

仅当以 /** 开头、以 */ 结尾,且中间每行可选以 * 开头(用于对齐),才被 javadoc 工具识别为文档注释。它必须紧贴在类、方法、字段等程序元素之前,中间不能有空行。

  • 必须严格配对:/** 不能写成 /* */***,否则只是普通多行注释
  • 常见参数标记如 @param@return@throws 必须独占一行且顶格或缩进一致,否则 javadoc 不解析
  • 示例:
    /**
     * 计算两个整数之和
     * @param a 加数
     * @param b 被加数
     * @return 和
     */
    public int add(int a, int b) {
        return a + b;
    }

真正容易被忽略的是:注释不会影响字节码大小,但写在 private 方法里的文档注释,如果没运行 javadoc,就纯粹是给阅读者看的 —— IDE 可能显示,但 JVM 一概不管。别指望它能替代单元测试或类型检查。