我把我学反射的经验分享给大家.....
开始学反射的时候,也是晕忽忽的,后来代码敲的多了,再结合了老师讲的一些理论,基本弄明白了反射到底是个啥!
我自己理解的很通俗的一句话--------------反射就是拿到类的字节码文件,通过这个类的字节码文件来做一些事情!
(Class也是一个类,这个类的实例对象就是二进制的字节码文件!)
什么是类的字节码文件? 就是通过Java源程序经过编译后,生成的那些.class结尾的文件.
有了这个字节码文件,还不可以为所欲为了,比如:
你写了一个类叫Person,我们通过反射拿这个Person类的字节码文件,这个字节码文件就是Person.class,这个Person.class是在硬盘上实际存在的...
怎么拿了,第一种方式就是通过文件名Class.forName("cn.itcast.Person");,就是这个Person类的文件名"Person" +这个Person类的包名"cn.itcast"(假如我放在这个包下,没有包可以不写.).
第二种方式就是类名.class了,就如Peron.class!
再怎么用,我就不多说了,大家看文档就都知道了. |