注解

1. Java 注解(Annotation) :

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

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

    3). SuppressWarnings 注解表示抑制警告


2. 自定义注解:当注解中的属性名为value时,在对其赋值时可以不指定属性的名称而直接写上属性值即可;除了 value 以外的其他值都

    需要使用name=value这种赋值方式, 即明确指定给谁赋值。


3. 当我们使用@interface关键字定义一个注解时,该注解隐含地继承了java.lang.annotation.Annotation接口;如果我们定义了一个接口,

    并且让该接口继承自Annotation,那么我们所定义的接口依然还是接口而不是注解;Annotation 本身是接口而不是注解。可以与 Enum

    类比。


4. java.lang.annotation.Retention形态可以在你定义Annotation形态时,指示编译程序该如何对待你自定义的Annotation形态。

    Retention总共有一下三种值:

    SOURCE:编译程序处理完Annotation信息后就完成任务

    CLASS:编译程序将Annotation存储于class档案中,缺省

    RUNTIME:编译程序将Annotation存储于class档中,可以由VM读入


5. 若想通过反射读取Annotation信息,必须在定义Annotation时设定RetentionPlicy为RUNTIME。


6. 使用java.lang.annotation.Target可以定义注解的使用时机,即:注解可以用在方法上,类上等。缺省可以用在任何地方。


7. 预设在父类别中的Annotation并不会被继承到子类中。若想继承到子类,需要在注解上加入:java.lang.annotation.Inherited形态

    的Annotation


8. 若想将注解到处到javaDoc中,需要用@Documented修饰

原文地址:https://www.cnblogs.com/Jtianlin/p/4188996.html