Reflection机制也是通过Class类对象来实现的. 个人感觉他只不过是通过Class类对象暴露了一组共用的借口.我们可以查询并调用之,而并不用知道某个特定类的全部信息.事实上他并没有什么特别的神奇之处,总感觉有点似曾相识,有点像COM中提供的IUNKNOWN接口,或者IDL语言的作用? 采用传统RTTI:编译器在编译器即开启并检查.class文件,但如果采用Reflection机制,编译器并不会取用.class文件.它会由执行期环境加以开启和检查.由此我们可以看出reflection的使用场合:JavaBeans,RMI,object serialization.或者无法得知某.class文件提供的接口时.基本上我们编成的过程中不会直接用到Reflection. 查一下java.lang.reflection包,发现包含以下内容: |
|