它们是否通过注释表示带有//或/ * * /?
的代码中的注释答案 0 :(得分:13)
不,注释不是评论。使用语法@Annotation将注释添加到字段,类或方法。其中一个最着名的注释是@Override,用于表示方法是从超类中覆盖一个方法。例如:
public class MyClass {
@Override
public boolean equals(Object other) {
//...
}
}
有关详细信息,请参阅http://download.oracle.com/javase/1,5.0/docs/guide/language/annotations.html。
答案 1 :(得分:6)
不,注释采用以下形式:
@Annotation(property="A")
public class {
@Annotation(property="B")
Object field;
@Annotation(property="C")
public void method() {
}
}
注释可以放在类,方法或字段上。他们可以在运行时通过反射或编译时通过apt(注释处理工具的简称,而不是apt包管理器)提供信息。
它们被定义为:
@interface Annotation {
String property();
}
有关详情,请参阅http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html
答案 2 :(得分:4)
没有。
annotation是java 1.5引入的特殊构造。注释会向java类,方法或变量添加一些元信息。可以在编译时(例如,使用apt生成一些额外的代码)或在运行时(例如,将类与数据库表匹配)来评估此元信息。
内置注释的示例:
@Deprecated // this is an annotation
public void myMethod() {
...
}
答案 3 :(得分:3)
实际上,在Java5(即1.3或1.4)之前,评论(//
或/* */
)是添加注释(即“metadata”)的唯一方法。
一个典型示例是,如果您使用TestNg,则单元测试框架TestNg with Java 1.4建议将其所有Java5 @Annotations
作为注释。
但这意味着,要让Testng启动正确的测试套件,它必须访问程序的 sources ,而不仅仅是编译后的二进制文件。
与Javadoc标记不同,Java注释可以是reflective,因为它们可以嵌入到编译器生成的class files中,并且可以由Java VM保留,以便在{{}}处进行检索。 {3}}
答案 4 :(得分:0)
注释不仅适用于java,它们也存在于c ++中,它们与java中的注释类似。
// MyCode.h
# include <CodeAnalysis/SourceAnnotations.h>
using namespace vc_attributes;
class CMyClass
{
public:
void f ( [Pre ( Valid = Yes )] int *pWidth );
// code ...
};
// MyCode.cpp
#include "MyCode.h"
void CMyClass::f ( [Pre (Valid = Yes)] int pWidth )
{
}
您可以查看MSDN以获取更多信息: http://msdn.microsoft.com/en-us/library/ms182036(VS.80).aspx
答案 5 :(得分:0)
注释不是注释,但它用于许多目的,例如错误调试,它也是编译器的指令集,但它对运行时代码没有任何影响。
@ override,@ deprecated和其他是注释的示例。它可以与方法,构造函数,参数,变量一起使用。
答案 6 :(得分:0)
注释用于向编译器提供详细信息,而注释是为了方便程序员,以便他知道代码的结构。
答案 7 :(得分:0)
当然不是,但是我认为注释≈评论。
它们的核心是描述,但是注释具有更多的局限性,您不容易犯错,而且在编译时也会发现错误。