(一)、java的反射机制
Java的反射是指:在运行状态中,可以获得任何类或对象的“所有”信息,如在运行时获得任意一个类属性和方法,在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法。
类或对象的“所有”信息包括:包名(package)、构造器(constructors)、属性(methods)、方法(fields)、类名或接口名(class name or interface name)、限定符(modifier)、导入的类(import)、参数(type parameters)、父类(parent class)、子类(child class)、接口实现类(implemented interfaces)、内部类(inner classes)、外部类(outer class)等等。
(二)、java的反射的作用:动态性
利用Java的反射机制,则在运行时获得任何类或对象的“所有”信息,体现了动态性。相对于静态,如果我要改变某些值,那我就要将正在运行的程序都停下来,然后修改代码,重新运行,这样就减少了程序的稳定性,而动态就解决了这个问题,如果哪天我要修改某些值时,我就修改,程序在运行状态下就可以得到那些值了。例如,在Struts的配置中,只要将FormBean中的属性名与html中form表单中的名字取一样的值,程序就可以将html中form表单的值自动的赋给FormBean中的属性值。
<!--EndFragment-->