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. JS高阶编程技巧--惰性函数

    在vue.react等框架大量应用之前,我们需要使用jQuery或者原生js来操作dom写代码,在用原生js进行事件绑定时,我们可以应用DOM2级绑定事件的方法,即:元素.addEventListen ...

  2. 返回一个整数数组中最大子数组的和——java程序设计

    一.题目要求 1.输入一个整形数组,数组里有正数也有负数.2.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和.3.求所有子数组的和的最大值.要求时间复杂度为O(n) 二.设计思想 解决 ...

  3. springBoot 中 logback配置文件详解

    logback介绍和配置详解 logback是Java的开源框架,性能比log4j要好.是springboot自带的日志框架.该框架主要有3个模块: logback-core:核心代码块(不介绍) l ...

  4. #AcWing系列课程Level-2笔记——1. 快速排序算法

    快速排序算法(冒泡排序算法的升级版) 编写快速排序,记住下面的思路,代码也就游刃有余了! 1.首先确定分界点:分界点设为x,可以取q[left],q[(left+right)>>2],q[ ...

  5. 报表生成(POI,jquery.table2excel.js,Echarts)

    最近公司要弄个报表相关的功能,话不多说,先上图 前一种是POI 生成的,后一种是Echarts生成的.报表我想大家都不陌生,基本上在公司业务中都会使用到.先说说POI,jquery.table2exc ...

  6. Kemaswill 机器学习 数据挖掘 推荐系统 Python optparser模块简介

      Python optparser模块简介

  7. 进程无法连接到 Subscriber"XXXXXXX"

    进程无法连接到 Subscriber“APP07”. 在订阅的机器上config 添加别名 APP07

  8. vue-cli莫名其妙的警告

    好久没有写笔记了,看着以前写的笔记有很多不合理的地方也没有去改正,这里抽空记录一个vue-cli莫名其妙的警告,虽然现在我也是一脸懵逼,但是还好把问题处理了. 出现的的问题是: 项目运行时出现警告 T ...

  9. 博客前端live2D实现

    1.本来以为没那么简单,结果看了大佬的https://www.cnblogs.com/liuzhou1/p/10813828.html#4431992的简单明了.效果如下,可随鼠标移动. ①这里添加在 ...

  10. Python分布式进程报错:pickle模块不能序列化lambda函数

    今天在学习到廖老师Python教程的分布式进程时,遇到了一个错误:_pickle.PicklingError: Can't pickle <function <lambda> at ...