首页 > 技术文章 > Annotation

xuanjian-91 2017-09-08 17:11 原文

概念:注解相当于一种标记
注解相关概念
---->四个元注解:用来注解自定义注解的
---------->Documneted
---------->Inherited
---------->Target:(作用范围:如方法,属性,构造方法等)
---------->Retention:(有效范围:源代码,class,runtime)
 
@interface用来声明一个注解,其中的每一个方法实际上是声明了一个配置参数。
方法的名称就是参数的名称,返回值类型就是参数的类型(返回值类型只能是基本类型、Class、String、enum)。
可以通过default来声明参数的默认值。
@Retention和@Target 2个注解就是用来设置自定义注解的使用对象范围和生命周期范围的
@Retention用来声明注解的保留策略,有CLASS、RUNTIME和SOURCE这三种,
分别表示注解保存在类文件、JVM运行时刻和源代码中。
只有当声明为RUNTIME的时候,才能够在运行时刻通过反射API来获取到注解的信息。
@Target用来声明注解可以被添加在哪些类型的元素上,如类型、方法和域等。
如果@Target没有指明作用对象范围,则所有对象都适合
就可以定义一个注解了,它将自动继承Annotation

推荐阅读