Java反射实现几种方式

可以通过

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

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
另外一个类中利用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);  //得到你想要返回的参数。

你可能感兴趣的:(java)