Java反射实现几种方式

可以通过

实现给私有属性赋值
Field field_qt = form.gettSswageTrtmt().getClass().getDeclaredField(runParam); field_qt.setAccessible(true); //反射 ,这里加入这个 ,不然会报错。说无法使用私有属性。 field_qt.set(form.gettSswageTrtmt(), runParam_min_value+"-"+runParam_max_value);

  

另外一个类中利用java反射实现:
实现从私有属性得到参数
 Field field = form.getIndustrialEnt().getClass().getDeclaredField(form.getGyfq());
 field.setAccessible(true);
 String [] strArray = field.get(form.getIndustrialEnt()).toString().split("-"); // 这个如同 获取 getGyfq 这个参数里面属性值 但是不知道为什么转换成MultipartFile 这个对象时候报错。后面没有继续找这个错误的原因。

  //群里都说 java反射都或多或少的慢点,但是可以减少继续比对工作量。 

   执行类中的方法:
   //Class cls = Class.forName("com.zhb.we.form.wry.WryForm");
  //Method setMethod = cls.getDeclaredMethod("setAge",int.class);
  //setMethod.invoke(cls.newInstance(), 15); cls.newInstance()是实例化这个新对象。
   Method m = wryForm.getClass().getDeclaredMethod(methodField);//methodField是方法名称
   MultipartFile mult = (MultipartFile) m.invoke(wryForm); //得到你想要返回的参数。

  

posted @ 2013-11-12 17:45  SongPingping  阅读(1238)  评论(2编辑  收藏  举报