为了账号安全,请及时绑定邮箱和手机立即绑定

反射调用函数的问题

反射调用函数的返回值问题, 和调用参数不太懂

正在回答

1 回答

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.
0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android Multidex原理及实现
  • 参与学习       6915    人
  • 解答问题       2    个

学会使用Multidex分包解决65535问题

进入课程

反射调用函数的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信