@Retention : 表示注解可以保存在哪一个时期.保存的时期值封装在 RetentionPolicy枚举类中 : 

     注意 : 一般的,自定义的注解,使用 RUNTIME 

                      SOURCE(源文件时期): 注解只能存在于源文件中,编译之后,字节码文件中没有。

                      CLASS (字节码时期): 注解可以存在于源文件中和字节码文件中,一旦加载进 JVM ,在 JVM 中不存在。

                      RUNTIME (运行时期): 表示注解可以存在源文件中,字节码文件中,JVM 中 。

@Target :  表示注解可以贴在哪些位置(类,方法上,构造器上等等) 位置的常量封装在 ElementType 枚举类中

                      ElementType.ANNOTAION_TYPE 只能修饰 Annotation 

                      ElementType.CONSTRUCTOR  只能修饰构造方法

                      ElementType.FLFELD  只能修饰字段

                      ElementType.LOCAL_VARIABLE 只能修饰局部变量

                      ElementType.METHOD  只能修饰方法

                      ElementType.PACKAGE  只能修饰包

                      ElementType.PARAMETEB  只能修饰参数

                      ElementType.Type 只能修饰类,接口,枚举

@Documented  :  使用 他标注的标签会保存到 API文档中。

@ Inherited :