0

可能重复:
这些 Java 注释有什么作用?
Java 中如何以及在何处使用注解?

好吧,我试图弄清楚注释是什么,阅读了大量文档,但仍然不明白它们的作用以及如何使用它......好吧,我有这个示例注释描述:

    @Documented
@interface ClassPreamble {
   String author();
   int currentRevision() default 1;
   String lastModified() default "N/A";
   String lastModifiedBy() default "N/A";
}

然后我尝试使用它,但我什至不知道会发生什么,哈哈:

   @ClassPreamble (author = "James")
public class PreAmbleReal {
    static public void main(String[] args) {




    }

    public String author();

}

那么,谁能给我解释一下?否则我会浪费几个小时的时间,什么也学不到。:/

4

2 回答 2

1

注释的用途之一是它告诉编译器检查特定的东西。例如,@Override 将确保该函数实际上与基类相同。还有一些其他注释,例如@Author。我敢肯定你去过这个页面,但这是一个更详细的解释 - http://docs.oracle.com/javase/1.5.0/docs/guide/language/annotations.html

于 2012-06-04T01:04:12.067 回答
1

注释本身不会做任何事情。它们是一些放在其他代码结构(例如方法、类、参数...)上的属性。必须有其他处理器来读取注释并执行某些操作。

有些注解只是在源代码中,并没有放在编译后的代码中,所以处理源代码的工具会读取并处理它们,有些注解放在编译后的代码中但没有被类加载器加载,有些是放在编译后的代码并由类加载器加载,因此可以在运行时读取它们(这三种行为通过@Retention注解本身的注解来区分)。

据我所知,在 Java 语言规范中,提到运行时缺少注释类不会停止应用程序的工作,这意味着类加载器只是忽略它们。但可能是使用它们的处理器或框架会出错(这是他们应该做的)。

于 2012-06-04T01:10:58.840 回答