问答详情
源自:5-2 项目实现(上)

请问,@Retention 中SOURCE, CLASS有啥用啊

请问,@Retention 中SOURCE,  CLASS有啥用啊

提问者:ElvisSir 2015-07-23 16:57

个回答

  • 刘果国
    2015-08-06 10:09:39
    已采纳

    Retention表示作用范围,SOURCE一般用于标记,比如javadoc,或为了其他人易于理解你的程序,如@Override。class范围的说起来有点复杂,当程序使用编译好的class文件时,需要用类加载器把class文件加载到内存中,class文件中的东西不是字节码,class文件里面的东西由类加载器加载到内存中去,类加载器在加载class文件时,会对class文件里面的东西进行处理,如安全检查,处理完以后得到的最终在内存中的二进制的东西才是字节码,类加载器在把class文件加载到内存中时也有转换,转换时是否把class文件中的注解保留下来?class范围不保留,runtime则保留