Java注解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

注解

可以先把注解当成注释来看,注释就是给类的各个组成部分(包、类名、构造器、属性、方法、方法参数,以及局部变量)添加一些解释。

可以先不去管注解是用来干什么的,就把它当成注释来看。注解的格式当然不能与注释相同,注解是需要声明的,声明注解与声明一个接口有些相似。当然Java也有一些内置注解,例如:@Override就是内置注解。

1声明注解

声明注解与声明一个接口相似,它需要使用@interface。一个注解默认为Annotation的

注解还可以带有成员,没有成员的注解叫做标记注解。成员的类型只能是基本类型、枚举类型)、String、基本类型数组、String[],以及注解和注解数组类型。

其中String表示成员的类型,value()表示成员名称。其中圆括号不能没有,也不能在圆

括号内放参数,它不是一个方法,只是一个成员变量。

注解可以有多个成员,但如果只有一个成员,那么成员名必须为value。这时在设置成

Java还提供了一些元注解,用来控制注解,例如@Retention和@Target:

●@Target:ElementType类型(枚举类型),表示当前注解可以标记什么东西,可选

值为:

TYPE:可以标记类、接口、注解类、Enum。

FIELD:可以标记属性。

METHOD:可以标记就去。

PARAMETER:可以标记参数。

CONSTRUCTOR:可以标记构造器。

LOCAL_VARIABLE:可以标记局部变量。

ANNOTATION_TYPE:可以标记注解类声明。

PACKAGE:可以标记包。

●@Retention:RetentionPolicy类型(枚举类型),表示注解的可保留期限。可选值为:

SOURCE:只在源代码中存在,编译后的字节码文件中不保留注解信息。

CLASS:保留到字节码文件中,但类加载器不会加载注解信息到JVM。

RUNTIME:保留到字节码文件中,并在目标类被类加载器加载时,同时加载注解信息到JVM,可以通过反射来获取注解信息。

2访问注解

很多第三方程序或工具都使用了注解完成特殊的任务,例如Spring、Struts等。它们都提供了自己的注解类库。在程序运行时使用反射来获取注解信息。下面我们来使用反射来获取注解信息。

相关文档
最新文档