JAVA里有2中注释风格。

一种以 “/*” 开始以 “*/” 结尾,另一种是以 “//” 起头的。

被注释的内容不会被java虚拟机编译,所以这就是为什么用反编译编译源代码没有注释的原因。

举个栗子

package test;

public class JavaDoc {
/*这是单行注释*/ /**
* 这是多行注释
* 可以写很多行
*/ //这是单行注释,按2次斜杠就可以了 //这种注释可以只有开头
//所有也可以写很多行 public static void main(String[] args) { }
}

反编译JavaDoc.class后的内容

package test;

public class JavaDoc {
public JavaDoc() {
} public static void main(String[] args) {
}
}

扩展

如果你使用 lntelliJ IDEA 进行编码的话,你还可以使用 “//region //endregion“来自已注释代码块,方便阅读源代码哦。可以选中要注释的代码块,然后快捷键 Ctrl+Alt+T ,选择region 即可。

//region 这是把其中的代码折叠起来
public static void main(String[] args) { }
//endregion

折叠后

这是把其中的代码折叠起来

java文档注释

java文档注释是为了输出代码注释文档,让代码和文档分离,便于查看文档。比如java API 文档,就是java底层开发者的文档注释,每次修改后只要输入文档即可,不用花费时间人力去维护开发的api。

在java文档注释javadoc中可使用嵌入html和“文档标签”,通过javadoc输入的注释文档是一个html文档,所以我们可以在文档注释使用html标签。

如果你想在嵌入的html代码中写行内样式,这是可以滴,为什么?因为我试过了。你可以自己美化你的注释哦,但是这回让你的源注释包含太多样式,不利于阅读,最好还是不要这样搞。

在文档注释中使用嵌入html代码和写html页面一样,大家可自行学习html即可。

在文档“文档标签”的话,需要使用指定的标签和写法,所有的文档标签都是用@ 符号声明,后面记得加空格。

  1. @see 引用其类,@see class-name 转化为html标签的 a 标签,链接到其他文档。
  2. @author 声明作者。
  3. @throws 声明方法可能会跑出的异常,调用者要进行处理。
  4. @param 参数说明,@param name desc。以上可文档标签都可写多个,但多个必须是连续的。
  5. @return 表示返回值。

举个栗子

package test;
public class JavaDoc {
/**
* <p>方法描述:变量自动加一.</p>
* <p>创建时间:2019-03-31 23:40:54</p>
* <p>创建作者:李兴武</p>
*
* @param i 进行自动加一的数
* @return 返回加一后的结果
* @throws RuntimeException 被操作数为0,会抛出异常
* @author "lixingwu"
* @see IfElse
*/
public Integer add(int i) throws RuntimeException {
if (i == 0) {
throw new RuntimeException("被操作数不能为0");
}
i++;
return i;
}
}

输出的JavaDoc.html

扩展

如果您使用的lntelliJ IDEA 进行编码的话,可以使用 Tools -> Generate JavaDoc 来生成文档。

注释规约

根据阿里巴巴java开发手册说明:

  1. 【强制】类、类属性、类方法的注释必须是用 /**内容*/ 格式,不得使用//xxx方式;
  2. 【强制】所有的抽象类必须有javadoc注释,详细说明其作用;
  3. 【强制】所有的javadoc必须有 添加时间创建作者
  4. 【强制】方法内的单行注释,必须另起一行,使用 // 注释,多行注释使用 /**/
  5. 【强制】所有的枚举类型必须有注释,说明每项数据的作用;

java基础之 java注释的更多相关文章

  1. Java基础语法(6)-注释

    title: Java基础语法(6)-注释 blog: CSDN data: Java学习路线及视频 用于注解说明解释程序的文字就是注释. 提高了代码的阅读性:调试程序的重要方法. 注释是一个程序员必 ...

  2. 黑马程序员:Java基础总结----java注解

    黑马程序员:Java基础总结 java注解   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! java注解 lang包中的基本注解 @SuppressWarnings ...

  3. java基础-学java util类库总结

    JAVA基础 Util包介绍 学Java基础的工具类库java.util包.在这个包中,Java提供了一些实用的方法和数据结构.本章介绍Java的实用工具类库java.util包.在这个包中,Java ...

  4. Java基础:Java的四种引用

    在Java基础:java虚拟机(JVM)中,我们提到了Java的四种引用.包括:强引用,软引用,弱引用,虚引用.这篇博客将详细的讲解一下这四种引用. 1. 强引用 2. 软引用 3. 弱引用 4. 虚 ...

  5. java基础(二)-----java的三大特性之继承

    在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句 ...

  6. Java基础-使用JAVA代码剖析MD5算法实现过程

    Java基础-使用JAVA代码剖析MD5算法实现过程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  7. Java基础技术-Java其他主题【面试】

    Java基础技术-Java其他主题[面试] Java基础技术IO与队列 Java BIO.NIO.AIO Java 中 BIO.NIO.AIO 的区别是什么? 含义不同: BIO(Blocking I ...

  8. Java基础(Java概述、环境变量、注释、关键字、标识符、常量)

    第1天 Java基础语法 今日内容介绍 u Java开发环境搭建 u HelloWorld案例 u 注释.关键字.标识符 u 数据(数据类型.常量) 第1章 Java开发环境搭建 1.1 Java概述 ...

  9. [java基础]文档注释

    转载自:http://blog.163.com/hui_san/blog/static/5710286720104191100389/ 前言 Java 的语法与 C++ 及为相似,那么,你知道 Jav ...

  10. 黑马程序员——【Java基础】——Java概述

    ---------- android培训.java培训.期待与您交流! ---------- 一.Java语言概述及三大技术架构 1.Java语言概述 Java是SUN公司于1995年推出的一种面向I ...

随机推荐

  1. MySQL数据库root密码忘记丢失重置方法

    对于DBA来说,丢失超管用户root的密码是致命的, 可以通过添加--ship-grant-tables参数来跳过权限表. 1.忘记root密码,进不去数据库: 这个时候需要强制停库,先查看MySQL ...

  2. js删除对象数组

    若用remove删除某个对象数组,使用for循环遍历数组中的每个对象进行删除,则必须从数组的最后一个元素倒序删除,否则每次删除都只能删除数组的一半元素,因为把索引为0的子节点删除后那么很自然的原来索引 ...

  3. node.remove()

    node.remove()方法是在DOM 4规范中实现的,由于糟糕的浏览器支持,不建议使用.应该使用removeChild方法,但是该方法必须要清楚父元素,通常的做法是:node.parentNode ...

  4. 《手把手教你构建自己的 Linux 系统》学习笔记(2)

    Linux 系统定制原理 虚拟根目录 我们的目标是为了完成目标系统(也就是我们要做的系统),他是一个可以独立运行的系统,不依赖雨主系统和临时系统,根据 Linux 系统的特点它需要存放在根目录下面,但 ...

  5. nginx: [warn] conflicting server name "aaa.7yule.cn" on 0.0.0.0:80, ignored

    故障现象: 修改nginx配置参数后,使用nginx -t检查配置,出现告警提示 nginx: [warn] conflicting server name "aaa.7yule.cn&qu ...

  6. 纪中10日T3 2296. 神殿 bfs

    2296. 神殿 (File IO): input:temple.in output:temple.out 时间限制: 1500 ms  空间限制: 524288 KB  具体限制 Goto Prob ...

  7. L001.PyQt

    초보자를 위한 Python GUI 프로그래밍 - PyQt5 https://wikidocs.net/book/2944 https://freeprog.tistory.com/330?cat ...

  8. 吴裕雄--天生自然 python数据分析:医疗费数据分析

    import numpy as np import pandas as pd import os import matplotlib.pyplot as pl import seaborn as sn ...

  9. MariaDB(MySQL)创建、删除、选择及数据类型使用详解

    一.MariaDB简介(MySQL简介略过) MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行 ...

  10. MySQL manager or server PID file could not be found!

    [root@centos var]# service mysqld stop MySQL manager or server PID file could not be found!       [F ...