annotation注解

来源:互联网 发布:java 读取ini 编辑:程序博客网 时间:2024/05/22 10:37

1 Override注解表示子类要重写父类的对应方法。

2 Deprecated注解表示方法是不建议使用的。

3 @SuppressWarnings("unchecked")注解表示抑制警告.

4 自定义注解:当注解中在属性名为value时,在对其进行赋值时,在对其赋值时,可以不指定属性的名称而直接写上属性值即可:除了value以外的其他值都需要使用name=value这种赋值方式,即明确指定给谁赋值。

5 当我们使用@interface关键字定义一个注解时。该注解隐含地继承了java.lang.annotation.Anntation接口:如果我们定义了一个接口,并且让该接口继承自Annotation,那么我么定义的接口依然是接口而不是注解;Annotation本身是接口而不是注解

6 定义Annotation时也可以使用包来管理。

7 Retention(保持,保留)java.lang.annotation.Retention型态可以在你定义Annotation型态时,指示编译程序该如何对待你的自定义的Annotation型态

     预设上编译程序会将Annotation信息留在.class档案中,但不会别虚拟机读取,而仅用于编译程序或工具程序运行时提供信息。

8 RetentionPolicy为SOURCE的例子是@SuppressWarnings

   仅在编译时期告知编译程序来抑制警告,所以不必将这个信息储存于.class档案

  RetentionPolicy为RUNTIME的时机,可以像是你使用java设计一个程序代码分析工具,你必须让VM能读出Annotation信息,以便在分析程序是使用

 搭配反射(Reflection)机制,就可以达到这个目的

 

Class,Coonstructor,Field,Method,Pachage等类别,都实现了AnnotatedElement接口