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

Java 里注释只有三种合法写法,其他所谓“注释”要么是语法错误,要么是编译器忽略的垃圾字符。
单行注释用 //
从 // 开始到本行末尾全部被忽略,支持出现在行首、代码后、空格后,但不能在字符串或字符字面量中使用(否则会破坏字符串结构)。
- 常见误用:
String s = "hello // world";—— 这里的//是字符串内容,不是注释 - 可嵌套在语句后:
int x = 1; // 初始化计数器 - 连续多行需每行都加:
// 第一行、// 第二行,不能只写一个//跨多行
多行注释用 /* ... */
匹配成对的 /* 和 */,中间所有内容(包括换行、空格、代码)全被跳过。不支持嵌套 —— 第一个 */ 就结束注释,后续哪怕还有 /* 也会被当普通文本处理。
- 典型翻车现场:
/* * int i = 0; /* 嵌套注释?错 */ * i++; */
—— 实际在第一个*/处就结束了,后面* i++;会报编译错误 - 适合临时屏蔽大段代码,但别用来写文档(IDE 不识别,
javadoc工具也不解析) - 行内也可用:
int /* 被注释掉的 */ y = 2;,但可读性差,不推荐
文档注释用 /** ... */
仅当以 /** 开头、以 */ 结尾,且中间每行可选以 * 开头(用于对齐),才被 javadoc 工具识别为文档注释。它必须紧贴在类、方法、字段等程序元素之前,中间不能有空行。
立即学习“Java免费学习笔记(深入)”;
- 必须严格配对:
/**不能写成/* *或/***,否则只是普通多行注释 - 常见参数标记如
@param、@return、@throws必须独占一行且顶格或缩进一致,否则javadoc不解析 - 示例:
/** * 计算两个整数之和 * @param a 加数 * @param b 被加数 * @return 和 */ public int add(int a, int b) { return a + b; }
真正容易被忽略的是:注释不会影响字节码大小,但写在 private 方法里的文档注释,如果没运行 javadoc,就纯粹是给阅读者看的 —— IDE 可能显示,但 JVM 一概不管。别指望它能替代单元测试或类型检查。










