反射四 操作方法2

来源:互联网 发布:谱尼测试工作强度知乎 编辑:程序博客网 时间:2024/05/16 14:28
package com.watermelon.reflect;import java.io.BufferedReader;import java.io.InputStreamReader;import java.lang.reflect.Method;public class MethodDemo2 {    public static void main(String[] args) {        UserService us = new UserService();        /*         * 通过键盘输入命令执行操作         * 输入update命令就调用update方法         * 输入delete命令就调用delete方法         * ...         */        try {            BufferedReader br = new BufferedReader(                    new InputStreamReader(System.in));            System.out.println("请输入命令:");            String action = br.readLine();            /*if("update".equals(action)){                us.update();            }            if("delete".equals(action)){                us.delete();            }            if("find".equals(action)){                us.find();            }*/            /*             * action就是方法名称, 都没有参数--->通过方法的反射操作就会简单很多             * 通过方法对象然后进行反射操作             */            Class c = us.getClass();            Method m = c.getMethod(action);            m.invoke(us);        } catch (Exception e) {            e.printStackTrace();        }    }}
package com.watermelon.reflect;public class UserService {    public void delete(){        System.out.println("删除用户");    }    public void update(){        System.out.println("修改用户");    }    public void find(){        System.out.println("查找用户");    }}
原创粉丝点击