在Java中正确使用注释

Java提供了3种类型的注释:

单行注释(C++风格)

在Java中最简单的注释是单行注释。它以两个正斜杠开始并到行尾结束。例如:

// this is a single-line comment

x = 1; // a single-line comment after code

多行注释(C风格)

Java同样提供跨越多行的注释类型。这种类型的注释以紧跟着一个星号的正斜杠开始,并以紧跟着一个正斜杠的星号结束。这种类型注释的开始和结束分界符可以在同一行里也可以在不同的行上。例如:

/* This is a c-style comment */

/*  This is also a

    c-style comment, spanning

    multiple lines */

注意:C风格的注释不可以嵌套使用。比如下面的用法:

/* A comment looks like

   /* This is a comment */

   blah blah blah

 */

上面的用法会造成语法错误,因为Java编译器只把第一个 */ 当做注释来处理。(编译器认为注释在第一个“*/”就结束了)。

你可以在多行注释里嵌入单行注释:

/* This is a single-line comment:

    // a single-line comment

 */

以及在单行注释里使用多行注释:

// /* this is

//    a multi-line

//    comment */

文档注释

文档注释是一种与多行注释很类似的特殊注释,它可以用来为你的源代码产生外部文档。这种注释以紧跟着两个星号的正斜杠开始,并以紧跟着一个正斜杠的星号结束。例如:

/** This is a documentation comment */

/** This is also a

    documentation comment */

这里有一些关于文档注释的重要事情要注意:

  • javadoc文档生成器会把文档注释里的所有文本都添加到一个HTML段落里。这意味着,在文档注释里的任意文本都会被格式化为一个段落;空格和换行符会被忽略。如果你想要特殊的格式,你必须要在文档注释里使用HTML标签。
  • 如果文档注释以超过两个的星号开始,那么javadoc就认为这些星号是用来在源码里创建一个“框”框住注释的,并忽略多余的星号。例如:
/**********************************

   This is the start of a method

**********************************/

该注释仅保留“This is the start of a method”文本。

  • javadoc会忽略文档注释里处于行首的星号。例如:
/***************************************

 * This is a doc comment

 * on multiple lines that I want to stand

 * out in source code, looking "neat"

 ***************************************/

该注释仅保留“This is a doc comment on multiple lines that I want to stand out in source code, looking “neat””文本。

  • 常见的用法如下:
/******************************************

   ...

 ******************************************/

该用法是为了突出注释。要注意的是,这属于文档注释(即使这不是你所想的那样),并会在产生的文档里出现注释的内容。

什么时候使用文档注释

你(至少)应该在任意的公有类、接口、方法和源码里的类或实例变量前面使用文档注释。这样可以让javadoc针对代码产生简单的文档,它列出了公 共实体 和每个实体的简要说明。你同样可以在非公共方法前面使用文档注释,不过需要使用一个javadoc选项来它们产生文档。相比于公有实体,在非公有实体上使 用文档注释显得没那么重要(它的接口不会暴露出来……)。但如果你要注释代码,你同样可以使用文档注释。

什么时候使用单行注释

任意时候都可以!

关于注释,我有一个简单的建议,在你想写常规注释(不是用来描述类、接口、方法或者变量的文档注释)的时候可以使用单行注释。

为什么?因为你可以轻易地使用多行注释去“注释掉”你的代码段(“注释掉代码”意味着把一段代码的词法状态变为一段注释,让编译器忽略这段代码)。举个例子:

x = 1;   /* set x to 1 */

y = 2;   /* set y to 2 */

f(x, y); /* call f with x and y */

要把上面三行代码注释掉,你可能需要在每一行的前面使用单行注释:

// x = 1;   /* set x to 1 */

// y = 2;   /* set y to 2 */

// f(x, y); /* call f with x and y */

或者在还没有加注释的地方加上多行注释:

/* x = 1;  */ /* set x to 1 */

/* y = 2;  */ /* set y to 2 */

/* f(x, y);*/ /* call f with x and y */

或者分解或删除已存在的注释的“结束注释”分解符:

/*

x = 1;   /* set x to 1 * /

y = 2;   /* set y to 2 * /

f(x, y); /* call f with x and y * /

*/

这些用法都糟糕透了。如果原始代码使用下面的注释,那么事情就好办多了:

x = 1;   // set x to 1

y = 2;   // set y to 2

f(x, y); // call f with x and y

如此一来,只需使用多行注释把代码围起来你就可以轻松把它注释掉:

/*

x = 1;   // set x to 1

y = 2;   // set y to 2

f(x, y); // call f with x and y

*/

在你需要使用注释的时候尽量使用单行注释,不要写无用的注释

你也可以看看之前发布的9个最有趣的代码注释,尽管它是搞笑的。

什么时候使用多行注释

阅读了上面的内容后,这个问题变得很明显了。只使用多行注释来注释代码段,不要用以其他目的。

时间: 2024-08-06 06:18:15

在Java中正确使用注释的相关文章

java中代码的注释和快捷键

java中代码的注释和快捷键 添加必要的注释,对一个有责任心.有道德模范的前端必须具备的好习惯, 可以大大提高代码的可维护性.可读性. java代码注释快捷键:ctrl+shift+/首先熟悉一下html.css.js的注释的写法:1.HTML注释语法: <!--注释的内容--> 2.css注释语法 /* 注释内容 */ /* ----------文字样式开始---------- */ 3.javaScript注释 //注释内容 /*注释内容*/ 接下来是对注释在这几种代码中使用的位置,如何写

Java中CLASS_PATH与注释的使用

一.CLASS_PATH的使用 我们在安装jdk的时候,通常情况下只是在电脑的环境变量中新建一个系统变量JAVA_HOME,这个变量用于储存jdk的/bin文件夹之前路径,然后在path中使用这个系统变量,%JAVA_HOME%\bin,这样就配置好了,一般这时候我们就可以正常编写并运行java程序了: 这个时候我们来说一下CLASS_PATH的用于,之所以我们一开始不用配CLASS_PATH,程序也能正常编译执行,是因为CLASS_PATH有默认值,那就是".",即当前目录. 如下图

Java 中正确使用 hashCode 和 equals 方法

在这篇文章中,我将告诉大家我对hashCode和equals方法的理解.我将讨论他们的默认实现,以及如何正确的重写他们.我也将使用Apache Commons提供的工具包做一个实现. 目录: hashCode()和equals()的用法 重写默认实现 使用Apache Commons Lang包重写hashCode()和equals() 需要注意记住的事情 当使用ORM的时候特别要注意的 hashCode()和equals()定义在Object类中,这个类是所有java类的基类,所以所有的jav

Java中的注释和嵌入式文档

摘自Think in java 前面看到一位同事写的android程序,注释如同android源码一样,再看看自己写的,自己都都不懂的注释.所以抽空看了Think in java里面注释和嵌入式文档的章节,并做一个简单的总结备忘. Java中的注释分为两种,// /* */ 嵌入式文档使用了一种特殊的注释语法,通过javadoc工具(javadoc工具为jdk安装的一部分)生成HTML文档,可以使用web浏览器来查看. 语法: 所有的javadoc命令都只在/** 后的注释中才会生效. 嵌入式文

【转】Java并发中正确使用volatile

Java并发中正确使用volatile 原文链接 http://ifeve.com/how-to-use-volatile/ 作者:一粟   整理和翻译自Twitter实时搜索的PPT 前几天并发编程群里有同学对volatile的用法提出了疑问,刚好我记得Twitter有关实时搜索的这个PPT对这个问题解释的很清晰并有一个实际的应用场景,于是周末把这个问题摘录了一些和并发相关的内容如下: 并发 – 定义 悲观锁 – Pressimistic locking 一个线性在执行一个操作时持有对一个资源

慕课网-安卓工程师初养成-2-12 如何在Java中使用注释

来源:http://www.imooc.com/code/1274 在编写程序时,经常需要添加一些注释,用以描述某段代码的作用. 一般来说,对于一份规范的程序源代码而言,注释应该占到源代码的 1/3 以上.因此,注释是程序源代码的重要组成部分,一定要加以重视哦! Java 中注释有三种类型:单行注释.多行注释.文档注释 运行结果: 看:被注释的代码块在程序运行时是不会被执行的~~ 我们可以通过 javadoc 命令从文档注释中提取内容,生成程序的 API 帮助文档. 打开首页,查看下生成的 AP

eclipse下java中注释字体太小和xml中中文字体太小问题解决方法

我们在win7下进行android应用开发,需要搭建相应的开发环境.现在普遍基本上都是eclipse+adt+sdk,在本人搭建完环境后,发现eclipse下,java中的注释和xml中的中文字体变得特别小,无法看的清楚.解决方法如下: 1.Java中字体变大方法: 打开eclipse,Window-->Preferences,如下图打开: 双击第二个红色框,如下图: 将字体改成五号即可. 2.xml中中文字体太小解决方法: 打开eclipse,Window-->Preferences--&g

多线程中的生产者消费者Java源代码(带注释)

同步解决了线程中数据存取不一致的问题,而Object类中的等待与唤醒方法解决了重复存取的问题 以下的生产者消费者Java源代码例子,很好的说明了这一点. 其中包括Info类.Producter类.Consumer类.Test类. <1> Info类如下: 1 package per.producterconsumer; 2 3 public class Info { 4 5 private boolean flag = true; 6 /* 7 * flag=true 表示此时可以生产,但不能

Java基础---如何在Java中注释(十)

如何在Java中使用注释 在编写程序时,经常需要添加一些注释,用以描述某段代码的作用. 一般来说,对于一份规范的程序源代码而言,注释应该占到源代码的 1/3 以上.因此,注释是程序源代码的重要组成部分,一定要加以重视哦! Java 中注释有三种类型:单行注释.多行注释.文档注释 运行结果: 看:被注释的代码块在程序运行时是不会被执行的~~ 我们可以通过 javadoc 命令从文档注释中提取内容,生成程序的 API 帮助文档. 打开首页,查看下生成的 API 文档 PS:使用文档注释时还可以使用