网站首页 > 技术文章 正文
Java 中的注释详解
不管是那种编程语言, 代码的注释都是必备的语法功能, 并且一个好的程序的指标之一,就是能有一个好的注释。 那 Java 中的注释是怎么定义的呢? 我们来说说。
Java 中 3 种注释类型
- 单行注释
- 多行注释
- 文档注释
单行注释
单行注释: Java 中最简单的注释方法, 使用两个反斜杠 // 就可以了。注释的内容从 // 开始。
举个例子:
单行注释不仅可以注释备注信息, 并且也可以注释代码内容。
// 返回一个字符串
//return "苗子说全栈 ";
return "";
在学习初期可以使用 System.out 输出字符串进行一些调试, 初学可以考虑这个, 后期学习日志框架之后, 推荐使用日志的方式输出调试信息。这里只是演示单行注释的用法。
单行注释的推荐写法就是写在代码的上一行中。
多行注释
多行注释:Java 中使用以 /* 开始, 以 */ 结束的注释方式。
举个例子:
需要注意:
对于多行注释开始和结束中间不要再有结束符。为了好看会在注释内容首字母写入 * 举例说明:
//正确的
/*
* 多行注释
*/
//错误的实例
/*
*这个是多行注释
/*
*多行注释内容
*/
*/ 这里就错误了。
匹配规则就是 /* 与之对应的最近的 */ 结束符。
除了单行注释和多行注释,还有一种是文档注释。
文档注释
编写任何的代码,都少不了编写程序的文档, 怎么高效的编写文档内容,并且文档的内容能够随着版本的更新进行更新。Java 语言中有一种注释规则, 就是文档注释类型。对于文档注释的内容,是可以通过 Java 内置命令行工具 javadoc 生成对应的文档内容的。并且Java 的 API 也是基于这种机制生成的文档。
使用文档注释的方式 以 /** 开头 */ 结尾。包含在这之内的内容就是文档注释的内容。 而且针对文档注释有一系列的标记。该注释一般会放在 类、方法、变量、常量上。
演示案例:
这里就使用了文档的注释方法, 并且使用了 @author 作者标记, @since 该类从哪个版本开始实现的。
在方法上我们使用了 @param 参数标记, 主要是给参数加上一个说明。
标记分类 “类标记” 和 “方法标记”常用的有以下列表,只是通用这样并不是非要这样写,这样写可以减少再次沟通的成本。
类标记
- @author 代表的是作者是谁,如果有多个,可以写多个标记
- @since 从哪个版本开始支持该类的功能
- @version 当前类的版本信息
- @see 该标记可用在类与方法上,表示参考的类或方法。
方法标记
- @param 参数的描述信息
- @return 当前方法返回的描述信息
- @exception 异常的描述信息,于描述方法 throws 对应的异常
- @throws 描述该方法可能抛出的异常信息,和 @exception 联合使用
- @see 该标记可用在类与方法上,表示参考的类或方法。
当然也有通用的用法, 可以标记上面说的四种类型。
- @code 内容使用代码格式。不会转移显示。
- @link 用于快速的定位到定义的相关类的代码上。使用格式: @link 包名.类名#方法名(参数类型)
把上面的源码生成以下文档, 我们看一下大概的内容。
javadoc -encoding utf-8 -d docs Hello.java
进入到 docs 打开index.html。效果如下:
这样你开发的这个文件的开发文档就编写完成。非常 easy, 非常 nice ! 我们来看看 Java 17 的 Object.java 的源码。
看一下 Java 17 的源码注释
找到安装路径, 然后根目录中找到 lib/src.zip 这个压缩包就是 JDK 17 的源码。
解压这个 src.zip 文件。 因为现在 JDK 都是基于模块开发。 找到基础模块 java.base 并进入到 java.lang 目录, 并找到 Object.java 类。这个是类中之王。 除了基础的类所有的类都默认实现该类。
不需要理解这里面的含义, 只需要理解注释的使用方式。 package 是包名, 后续会针对这个单独开一章, 你可以认为这是一个文件的层次划分。主要是为了解决类名重复的问题。package 上的内容是针对 Java 的开源协议的一个说明。 以后你如果想开源软件, 可以参考这种方式编写你的开源协议内容。
进入到 Java 17 的文档 API 官方页面。
地址为:https://docs.oracle.com/en/java/javase/17/docs/api/index.html
同样的方式进入到 java.base 的模块中。 Java.base 是 Java SE 的基础 API。
进入到 Package 的 java.lang 中。并翻阅到 All Classes and Interfaces 中, 找到 Object。
或者直接进入该地址: https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html
可以看到如下界面:
可以看到从版面UI, 还是风格都和 javadoc 生成的一模一样, 从这里也能看出来 Java 的 api 文档,就是使用这种方式进行生成的。 从源码中直接获得注释, 这样你的注释才显得可靠有据。
从该类的描述中我们也能看到 说是 Object 的这个类是所有的类的根类。 也就是后面说所有的对象类都有一个超类。也都继承了该类的相关方法和实现。
扯得有点远了。 先知道有 3 种注释方法, 知道有 Java 的 API 存在, 这篇内容对于初学的你来说。 也就足够了。
后续更多内容。 关注我。
- 上一篇: 我靠,竟然有人在我的代码注释里的“下毒”
- 下一篇: 还不会用mybatis-plus,手把手教你
猜你喜欢
- 2025-07-27 JPA实体类注解,看这篇就全会了(java实体类注解)
- 2025-07-27 Java反射机制最全详解(图文全面总结)
- 2025-07-27 javaEE 新闻管理系统 oracle11+tomcat6
- 2025-07-27 SpringBoot 注解最全详解,建议收藏!
- 2024-10-28 从源码里的一个注释,我追溯到了12年前,有点意思
- 2024-10-28 Oracle数据库下使用PL/SQL编程 oracle数据库中,如何在sqlplus中执行sql脚本
- 2024-10-28 Spring注解驱动之后再说事务啊 spring事物注解失效
- 2024-10-28 让清华毕业大牛带你:深入了解Java中的注解,你能吸收到多少呢?
- 2024-10-28 使用自定义注解和切面AOP实现Java程序增强
- 2024-10-28 sql注入fuzz bypass waf SQL注入对于所有数据库的注入方法是一样的
你 发表评论:
欢迎- 635℃几个Oracle空值处理函数 oracle处理null值的函数
- 627℃Oracle分析函数之Lag和Lead()使用
- 615℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 610℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 607℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 601℃【数据统计分析】详解Oracle分组函数之CUBE
- 589℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 575℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- CVE-2025-30762|Oracle(java oracle)
- 低代码可能铲不掉“屎山”,但能让这个它更有「型」
- 科技大事件:新苹果手表可通过击掌或握手来传递信息
- 你的百万级上下文窗口大模型,可能并没有你想象中那么强
- DApp 开发中的安全测试(软件测试过程中安全测试的具体应用场景和测试思路)
- 盘点Java中最没用的知识⑧:这3个过时套路,你还在代码里硬撑?
- 机房硬件设备及Oracle数据库软件维护服务项目竞争性磋商公告
- 微软与甲骨文扩大合作关系,推出Oracle Database@Azure
- JPA实体类注解,看这篇就全会了(java实体类注解)
- Java反射机制最全详解(图文全面总结)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)