Java:注释

注释

1. 单行注释

使用方法

单行注释以 // 开头,注释内容从 // 开始到行尾结束。它们通常用于对单行代码进行简短说明,或者在代码中插入临时注释。

示例

java 复制代码
int x = 10; // 定义变量x并赋值为10
// 打印变量x的值
System.out.println(x);

最佳实践

  • 使用单行注释来解释复杂或不易理解的代码行。
  • 避免冗长的单行注释,保持简洁明了。
  • 在代码块前使用单行注释来描述该块的功能。

2. 多行注释

使用方法

多行注释以 /* 开头,以 */ 结束,可以跨越多行。多行注释适用于对较长的代码块进行详细说明,或者用于注释掉大段代码。

示例

java 复制代码
/*
  这个方法用于计算两个数的和
  参数:a - 第一个整数
       b - 第二个整数
  返回值:两个整数的和
*/
public int add(int a, int b) {
    return a + b;
}

/* 
  这是一个示例,演示如何注释掉大段代码
public void exampleMethod() {
    // 这里的代码被注释掉了
}
*/

最佳实践

  • 使用多行注释对函数、类或复杂的逻辑进行详细解释。
  • 避免嵌套多行注释,这会导致代码难以维护。
  • 当临时禁用代码段时,可以使用多行注释,但应尽快移除不再需要的注释代码。

3. 文档注释

使用方法

文档注释以 /** 开头,以 */ 结束,通常用于类、接口、方法和字段的声明前。Javadoc工具可以解析这些注释并生成HTML格式的API文档。

常用标签

  • @param 用于描述方法的参数。
  • @return 用于描述方法的返回值。
  • @throws@exception 用于描述方法可能抛出的异常。
  • @see 用于提供相关信息的链接。
  • @since 表示该元素从哪个版本开始存在。
  • @deprecated 标识不推荐使用的元素,并提供替代信息。
示例
java 复制代码
/**
 * 这个类表示一个简单的计算器
 *
 * @since 1.0
 */
public class Calculator {

    /**
     * 计算两个整数的和
     *
     * @param a 第一个整数
     * @param b 第二个整数
     * @return 两个整数的和
     * @since 1.0
     */
    public int add(int a, int b) {
        return a + b;
    }

    /**
     * 计算两个整数的差
     *
     * @param a 第一个整数
     * @param b 第二个整数
     * @return 两个整数的差
     * @since 1.0
     */
    public int subtract(int a, int b) {
        return a - b;
    }

    /**
     * 计算两个整数的乘积
     *
     * @param a 第一个整数
     * @param b 第二个整数
     * @return 两个整数的乘积
     * @throws IllegalArgumentException 如果参数为负数
     * @since 1.1
     */
    public int multiply(int a, int b) {
        if (a < 0 || b < 0) {
            throw new IllegalArgumentException("参数不能为负数");
        }
        return a * b;
    }
}

最佳实践

  • 使用文档注释为公共API提供详细说明,这有助于自动生成开发文档。
  • 描述清楚方法的输入输出和异常情况,以便使用者了解方法的使用方法和注意事项。
  • 保持文档注释简洁且有意义,避免冗长和无关的信息。
相关推荐
丷丩7 分钟前
一个Java中有用的JacksonUtil类
java·json·工具
爱摄影的程序猿7 分钟前
JAVA springboot面试题今日分享
java·spring boot·spring·面试
qq_3170609534 分钟前
java之http client工具类
java·开发语言·http
ZJKJTL41 分钟前
Spring中使用ResponseStatusExceptionResolver处理HTTP异常响应码
java·spring·http
robot_大菜鸟42 分钟前
python_openCV_计算图片中的区域的黑色比例
开发语言·python·opencv
Pandaconda1 小时前
【C++ 面试 - 新特性】每日 3 题(六)
开发语言·c++·经验分享·笔记·后端·面试·职场和发展
chanTwo_001 小时前
go--知识点
开发语言·后端·golang
悟空丶1231 小时前
go基础知识归纳总结
开发语言·后端·golang
北南京海1 小时前
【C++入门(5)】类和对象(初始类、默认成员函数)
开发语言·数据结构·c++
莫莫向上成长1 小时前
Javaweb开发——maven
java·maven