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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 李志敏 于 2013-5-18 19:00 编辑

注解的生命周期
RetetionPolicy.SOURCE、RetetionPolicy.CLASS、RetetionPolicy.RUNTIME;
分别对应:java源文件-->class文件-->内存中的字节码。
是不是我们自己写的注解都要用RetetionPolicy.RUNTIME?

评分

参与人数 1技术分 +1 收起 理由
殇_心。 + 1

查看全部评分

2 个回复

倒序浏览
如果问题已经解决了,那么大家请把帖子的类型改为“已解决”,在自己帖子的左下角点编辑,然后选择帖子的分类进行改正。{:soso_e163:}
回复 使用道具 举报
感觉你也没问什么的样子,如果一团模糊建议还是再看几遍视频。我这里稍微解释下。RetetionPolicy.SOURCE 的保留策略就是只存在与你书写时的源代码中,该注解只用于让编译器检查是否符合要求而已,检查完就被去除不保留到生成的class文件中。RetetionPolicy.CLASS 是默认情况下的保留策略,该策略的注解可以被编译器检查后继续留存到生成的class文件中,但是在被虚拟机调用时就不会载入该注解。RetetionPolicy.RUNTIME 自然就是一直保留到虚拟机调用的策略,由于虚拟机将该策略的注解载入了,因此我们就可以通过反射来获取这些注解。注解到底要保留到哪个阶段要看情况,只能说自定义注解需要保留到最后的情况比较常见而已。

评分

参与人数 1技术分 +1 收起 理由
殇_心。 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马