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. clr via c# 参数和属性

    1,可选参数和命名参数 当给参数指定默认值时,可以在调用的时候省略 有默认值的参数,必须放在所有没有默认值的参数后面,但是 参数数组必须放在最后面,parm 默认值必须时编译时能确定的常量值,对于值类 ...

  2. LeetCode 面试题 02.07. 链表相交

    题目链接:https://leetcode-cn.com/problems/intersection-of-two-linked-lists-lcci/ 给定两个(单向)链表,判定它们是否相交并返回交 ...

  3. java script 内置对象

    java script 内置对象 Date 日期对象 字符串对象 定义字符串的方法就是直接赋值 使用 String 对象的 toUpperCase() 方法来将字符串小写字母转换为大写,反之 toLo ...

  4. 剑指offer-面试题33-二叉搜索树的后序遍历序列-二叉树遍历

    /* 题目: 给定一个序列,判断它是否为某个二叉搜索树的后序遍历. */ /* 思路: 二叉搜索树:左子树<根节点<右子树. 序列的最右端为根节点,小于根节点的左半部分为左子树,大于根节点 ...

  5. opencv —— 官方 示例程序

    OpenCV 官方提供的示例程序,具体位于...\opencv\sources\samples\cpp 目录下. ...\opencv\sources\samples\cpp\tutorial_cod ...

  6. Qt的qDebug()改写为cout

    经常用c++,qDebug()用的不习惯,将其改为cout,并且为了方便调试,还添加了文件名及行号. 代码如下: // __FILE__文件名,__LINE__行号,如果想看时间还可以添加__TIME ...

  7. 吴裕雄--天生自然HADOOP操作实验学习笔记:mapreduce代码编程

    实验目的 深入了解mapreduce的底层 了解IDEA的使用 学会通过本地和集群环境提交程序 实验原理 1.回忆mapreduce模型 前面进行了很多基础工作,本次实验是使用mapreduce的AP ...

  8. vue项目下的导入和导出

    本篇博文主要记录我们在写项目的时候经常需要用到导入和导出. 导入 首先定义一个模态弹窗,一般情况下会使用一个input(设置opacity:0)覆盖在显示的按钮上面 <!-- 3.导入 --&g ...

  9. Elasticsearch启动、停止脚本

    注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 本文源链接:https://www.cnblogs.com/chloneda/p/es-shell ...

  10. maven依赖包无法更新下载

    在IDEA工程中导入已存在的module时,按默认设置,直到完成导入,结果所有的外部依赖包都无法更新下载,即使是更新了setting.xml配置文件信息,依旧是不能更新下载依赖包,现将具体的操作过程和 ...