本帖最后由 欧阳博 于 2012-3-1 16:02 编辑
JAVA反射可以说是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性。
我现在一般所用到的就是
(1)得到某个类所有的构造方法、Constructor con1 = 类名.class.getConstructor(String.class); //获得这个类的构造函数(这里是有个String类型参数的)
类 str = (类)con1.newInstance(new String("abc")); //创建一个实例对象
(2)得到类的成员变量属性,Field fieldY = str.getClass().getField("y"); //y是变量名
System.out.println(fieldY.get(str)); //得到str对象的fieldY属性值
(3)得到类中的某一个方法,Method method = 类名.class.getMethod("方法名称",int.class); //int.class为该方法参数类型
调用它的方法 method.invoke(对象,参数值);
其他好多好多应用和方法建议楼主查询API |