java 注解,java
分享于 点击 18412 次 点评:7
java 注解,java
代码如果干涉编译器的行为,就是修改语法树
编译过程的三个阶段
java注解基本概念
java注解分为运行时注解和编译器注解。
运行时注解通过通过@Retention(RetentionPolicy.RUNTIME)
1.SOURCE:在源文件中有效(即源文件保留)
2.CLASS:在class文件中有效(即class保留)
3.RUNTIME:在运行时有效(即运行时保留)
注解参数的可支持数据类型:
1.所有基本数据类型 (int,float,boolean,byte,double,char,long,short)
2.String类型
3.Class类型
4.enum类型
5.Annotation类型
6.以上所有类型的数组
处理运行时注解通过 class对象获取注解
java编译期注解
在JDK1.6中,提供了一组插入式注解处理器的标准API在编译期间对注解进行处理。
可以读取、修改、添加抽象语法树中的任意元素。
如果这些插件在处理注解期间对语法树进行了修改,编译器将回到解析及填充符号表的过程进行重新处理,直到所有插入式注解处理器都没有再对语法树进行修改为之。
处理如下:
相关文章
- 暂无相关文章
用户点评