java 反射 Class

来源:互联网 发布:中化蓝天网络商学院 编辑:程序博客网 时间:2024/06/17 01:25

首先引用百度百科中的知识,对java中反射概念进行介绍

java反射机制:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点来看,java不是动态语言,但是java有一个非常突出的动态相关机制:Reflection,用在java身上指的是,我们可以运行时加载、探知,使用编译期间完全未知的class,换句话说,java可以使用一个运行时才得知名称的class,获悉其完整构造,并生成对象实体,对field设值、或唤起其method方法。

java中反射是通过Class实现的,不同于我们写写程序是的class关键子,这个class是jvm的加载器加载class的时候,JVM会产生一个Class对象,这个Class对象没有无参构造方法。通过这个对象,可以获取、修改class中的属性,新建实例等。在篇文章中,有通过classload的loader.loadClass("classpath");获取Class对象。其实,在正常的情况下,jvm就是用classload加载器通过委派机制加载所需的class,通过Class再进行操作。反射,通过上面概念也应该清楚,我们在写代码的时候,提前使用jvm加载之后的产生的class对象,反射中,我们通过Class.forName(classname)(或其他的方法,下面地址中都有详细的例子)获取Class,然后在操作Class。

反射的应用去看这篇文章

http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.html




0 0
原创粉丝点击