根据类名和方法名执行方法

根据类名和方法名执行类中方法 + 给类中属性赋值

@SuppressWarnings({ "unchecked", "rawtypes" })

public static void executeMethod(String beanClass, String methodName, Integer value) {

    try {

        //beanClass是全路径

        Class clazz = Class.forName(beanClass);

        Object obj = clazz.newInstance();

        // 设置参数

        Field f = clazz.getDeclaredField("paramName");  // paramName是类beanClass的一个属性

            f.setAccessible(true);

             f.set(obj, value); // 给paramName赋值

        //第一个参数是被调用方法的名称,后面接着这个方法的形参类型

        Method method = clazz.getMethod(methodName);

        //取得方法后即可通过invoke方法调用,传入被调用方法所在类的对象和实参,对象可以通过cls.newInstance取得

        method.invoke(obj);

    } catch (Exception e) {

        e.printStackTrace();

    }

}

你可能感兴趣的:(根据类名和方法名执行方法)