A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© David19910809 中级黑马   /  2015-6-6 19:33  /  144 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在Java编译器编译时,它会识别在源代码里添加的注解是否还会保留,这就是RetentionPolicy。下面是Java定义的RetentionPolicy枚举:
编译器的处理有三种策略:
将注解保留在编译后的类文件中,并在第一次加载类时读取它;
将注解保留在编译后的类文件中,但是在运行时忽略它;
按照规定使用注解,但是并不将它保留到编译后的类文件中。
?
12345678910 Java代码 packagejava.lang.annotation; publicenumRetentionPolicy{ SOURCE, //此类型会被编译器丢弃 CLASS, //此类型注解会保留在class文件中,但JVM会忽略它 RUNTIME //此类型注解会保留在class文件中,JVM会读取它 }
?
1234567891011 Java代码 //让保持性策略为运行时态,即将注解编码到class文件中,让虚拟机读取 @Retention(RetentionPolicy.RUNTIME) public@interfaceGreeting{ //使用枚举类型 publicenumFontColor{ BLUE,RED,GREEN }; Stringname(); FontColorfontColor()defaultFontColor.RED; }

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马