反射调用函数的问题
反射调用函数的返回值问题, 和调用参数不太懂
反射调用函数的返回值问题, 和调用参数不太懂
2019-04-01
public Object invoke(Object receiver, Object... args)
receiver: 从中调用底层方法的对象 args: 用于方法调用的参数 Object(返回结果):使用参数args在obj上指派该对象所表示方法的结果。 //创建A的实例 Class<?> aClazz = A.class; //获取A类的add方法 Object obj = aClazz.newInstance(); Method method = aClazz.getMethod("add",int.class,int.class);//调用method对应的方法 => add(1,4) Object result = method.invoke(obj,1,4); class A { private int x; public int add(int a, int b) { return a+b; } }
set(Object obj, Object value):将指定对象obj变量上此 Field 对象表示的字段设置为指定的新值value A a = new A(); Field field = a.getClass().getDeclaredField("x"); field.setAccessible(true); field.set(a, 1) 这样就会将对象a上x的字段设置为1.
举报