Appearance
Java 中有三种注释类型:单行注释、多行注释和文档注释。好的注释让代码更易维护。
// 开头,行尾结束:
//
public class Hello { public static void main(String[] args) { int age = 25; // 这是单行注释 System.out.println("Hello"); // 输出语句 } }
/* ... */ 包裹,可跨越多行:
/* ... */
public class Hello { public static void main(String[] args) { /* * 这是多行注释 * 可以跨越多行 * 通常用于较长的说明 */ System.out.println("Hello"); } }
/** ... */ 包裹,会被 Javadoc 工具解析:
/** ... */
/** * 这是一个学生类 * * @author Zhang San * @version 1.0 * @since 2024-01-01 */ public class Student { private String name; /** * 获取学生姓名 * * @return 学生的姓名 */ public String getName() { return name; } }
/** * 用户服务类 * * <p>负责处理用户相关的业务逻辑,包括: * <ul> * <li>用户注册和登录</li> * <li>用户信息查询</li> * <li>用户权限管理</li> * </ul> * * @author Developer * @version 2.0 * @see User * @see UserRepository */ public class UserService { // ... }
/** * 计算两个整数的和 * * <p>这是一个简单的方法,用于演示文档注释的格式。 * 方法会返回两个参数的和,如果结果超出 Integer 范围, * 则返回 Integer.MAX_VALUE。 * * @param a 第一个整数,不能为 null * @param b 第二个整数,不能为 null * @return 两个整数的和,如果溢出则返回 Integer.MAX_VALUE * @throws IllegalArgumentException 如果 a 或 b 为 null * * @example * <pre> * int result = Calculator.add(1, 2); // result = 3 * int overflow = Calculator.add(Integer.MAX_VALUE, 1); // result = Integer.MAX_VALUE * </pre> */ public static int add(Integer a, Integer b) { if (a == null || b == null) { throw new IllegalArgumentException("参数不能为 null"); } try { return Math.addExact(a, b); } catch (ArithmeticException e) { return Integer.MAX_VALUE; } }
public void processOrder(Order order) { // 1. 验证订单有效性 if (!validateOrder(order)) { throw new InvalidOrderException("订单无效"); } // 2. 计算订单金额(包含折扣逻辑) BigDecimal amount = calculateAmount(order); // 3. 扣减库存(乐观锁防止超卖) inventoryService.reduceStock(order.getItems()); // 4. 发送通知 notificationService.sendOrderConfirmation(order); }
// 连接数据库 Connection conn = DriverManager.getConnection(url); // 使用 Thread.sleep 而不是 wait 是因为不需要锁 Thread.sleep(1000); // TODO: 优化查询性能 List<User> users = userDao.findAll();
// 注释了等于没注释 int i = 0; // i 加 1 // 错误的注释 int i = 0; // i 减 1 // 中文和拼音混用 // zhanghao chaxun User user = userDao.findById(id);
保持注释与代码同步更新,优先写清晰的代码而不是添加注释。
注释规范
Java 中有三种注释类型:单行注释、多行注释和文档注释。好的注释让代码更易维护。
注释类型
单行注释
//开头,行尾结束:2
3
4
5
6
多行注释
/* ... */包裹,可跨越多行:2
3
4
5
6
7
8
9
10
文档注释
/** ... */包裹,会被 Javadoc 工具解析:2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
何时需要注释
何时不需要注释
注释示例
类注释
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
方法注释
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
行内注释
2
3
4
5
6
7
8
9
10
11
12
13
14
15
注释风格
推荐
2
3
4
5
6
7
8
不推荐
2
3
4
5
6
7
8
9
Javadoc 标签
保持注释与代码同步更新,优先写清晰的代码而不是添加注释。