Java反射

Java作为一门静态(static)编程语言,类型信息都要在编译期指定,相比而言没有ruby、python、js等动态语言那么灵活,比如没办法简单地遍历一个对象所有的字段,实现Duck Type方法等。而Reflection,就是Java的一个强有力的武器,让开发人员可以在程序运行时候去获取检查程序的类型、结构等信息,以及之后根据不同的类型等修改程序的行为。

网上关于反射的文章比较多了,觉得再写也是重复劳动,还不如去做一些更重要的事情(比如陪妹纸看电影啥的,哈哈)。推荐一下一些比较系统的资料,看这些就够了。

  1. Java Reflection in Action,下载地址为http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.116.5796&rep=rep1&type=pdf
  2. Java Reflection Tutorial
  3. 2的中文译文,不过有些地方有点不对,E文看着累的童鞋可以参照着看,http://ifeve.com/java-reflection/
  4. http://lavasoft.blog.51cto.com/62575/43218/
  5. http://azrael6619.iteye.com/blog/429797
  6. http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.html
  7. http://www.importnew.com/9078.html

网上资料虽多,但是要论系统、全面,还是书好一些。所以,如果有时间的话,强烈建议看完Java Reflection in Action这本书。为了显得这篇文章还是有点价值的,放一张自己画的图哈~

技术分享

Written with StackEdit.

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。