南城北辰 发表于 2020-7-30 12:23

反射之method.invoke

try {
                        //1.获取当前类的字节码对象
                        Class<? extends BaseServlet> class1 = this.getClass();
                        //2.获取当前类的方法
                        Method method = class1.getMethod(key, HttpServletRequest.class,HttpServletResponse.class);
                        //3.调用当前方法
                        method.invoke(this,requset,response);
                } catch (Exception e) {
                        e.printStackTrace();
                }
请教一下第二this也就是method.invoke 中的this该怎么去理解,第一个this我可以理解,这个this想了半天想不通

lxp7765 发表于 2020-7-30 13:24

invoke 方法第一个参数是一个对象实例, 意思是调用这个对象 的 key (方法名) 方法,这里写着this代表当前类的实例化对象,上面的class1 取得直接是当前类所以 get method不出异常的情况下 ,   实际上相当于 当前对象实例调用了自己 key (方法名) 方法
第二个this 就是当前类 对象实例

goldli 发表于 2020-7-30 12:31

this 指的是目标实例。 就是你的方法所在类的实例。
页: [1]
查看完整版本: 反射之method.invoke