有什么区别
/**
* comment
*
*
*/
and
/*
*
* comment
*
*/
在Java中?什么时候使用它们?
有什么区别
/**
* comment
*
*
*/
and
/*
*
* comment
*
*/
在Java中?什么时候使用它们?
当前回答
单个注释,例如://注释 多行注释,例如:/* comment */ Javadoc注释,例如:/** comment */
其他回答
第一个是Javadoc注释。javadoc工具可以对它们进行处理,生成类的API文档。第二个是普通的块注释。
第一种形式称为Javadoc。当您为代码编写由javadoc工具生成的正式api时,可以使用它。例如,Java 7 API页面使用Javadoc,并由该工具生成。
你在Javadoc中看到的一些常见元素包括:
@param:用来指示传递给方法的参数是什么,以及它们期望有什么值 @return:用于指示方法将返回什么结果 @throws:用于指示一个方法在某些输入的情况下抛出异常或错误 @since:这用于指示该类或函数可用的最早Java版本
举个例子,下面是Javadoc中Integer的比较方法:
/**
* Compares two {@code int} values numerically.
* The value returned is identical to what would be returned by:
* <pre>
* Integer.valueOf(x).compareTo(Integer.valueOf(y))
* </pre>
*
* @param x the first {@code int} to compare
* @param y the second {@code int} to compare
* @return the value {@code 0} if {@code x == y};
* a value less than {@code 0} if {@code x < y}; and
* a value greater than {@code 0} if {@code x > y}
* @since 1.7
*/
public static int compare(int x, int y) {
return (x < y) ? -1 : ((x == y) ? 0 : 1);
}
第二种形式是块(多行)注释。如果您想在注释中有多行,可以使用此方法。
我会说,你只需要谨慎地使用后一种形式;也就是说,您不希望使用没有描述方法/复杂函数应该具有哪些行为的块注释来重载代码。
由于Javadoc是两者中更具有描述性的,并且使用它可以生成实际的文档,因此使用Javadoc比简单的块注释更可取。
Java支持两种类型的注释:
/*多行注释*/:编译器忽略从/*到*/的所有内容。注释可以跨越多行。 编译器会忽略从//到行尾的所有内容。
一些工具(如javadoc)使用特殊的多行注释来实现它们的目的。例如,/** doc注释*/是javadoc在准备自动生成的文档时使用的文档注释,但对于Java来说,它是一个简单的多行注释。
单个注释,例如://注释 多行注释,例如:/* comment */ Javadoc注释,例如:/** comment */
下面Java代码列表中的注释是灰色字符:
/**
* The HelloWorldApp class implements an application that
* simply displays "Hello World!" to the standard output.
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); //Display the string.
}
}
Java语言支持三种注释:
/* text */
编译器会忽略从/*到*/的所有内容。
/** documentation */
这表示一个文档注释(简称文档注释)。编译器会忽略这种注释,就像它会忽略使用/*和*/的注释一样。JDK javadoc工具在准备自动生成的文档时使用文档注释。
// text
编译器会忽略从//到行尾的所有内容。
现在,关于你应该在什么时候使用它们:
当您想注释一行代码时,请使用// text。
当你想注释多行代码时,使用/* text */。
使用/** documentation */当您想要添加一些关于程序的信息,可以用于自动生成程序文档。