Java学习笔记Java 杂谈

java 注解笔记

2016-10-22  本文已影响68人  lialzm

@Target:表示注解可以用在什么地方,由ElementType枚举定义

参数 含义
CONSTRUCTOR 构造器
field 域声明(包括enum实例)
local_variable 局部变量声明
method 方法参数
package 包声明
parameter 参数声明
type 类,接口或enum
annotation_type 应用于另一个注解
type_parameter 类型参数声明(1.8新加入)
type_use 类型使用声明(1.8加入)

@Retention表示需要在什么级别保存该注解信息

参数 含义
source 注解将被编译器丢弃(只会保留在源码里)
class 注解在class文件中可用,但是会被vm丢弃
runtime vm将在运行期间也保存注解,可用通过反射获取注解的信息

apt在编译时自动查找所有继承自AbstractProcessor的类,然后调用他们的process方法去处理

@Documented表示注解会被包含在javaapi文档里
@Inherited允许子类继承父类注解

注解元素

注解可用的类型有:
1.所有的基本类型(int,float,boolean,byte,double,char,long,short)
2.string
3.Class
4.enum
5.Annotation
元素的修饰符只能是public或者default

获取注解

1.类注解使用getAnnotation方法
2.方法注解Method.getAnnotation()
3.参数注解Method.getParameterAnnotations();返回二维数组
4.变量注解Field.getAnnotation()

上一篇 下一篇

猜你喜欢

热点阅读