反射之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想了半天想不通 invoke 方法第一个参数是一个对象实例, 意思是调用这个对象 的 key (方法名) 方法,这里写着this代表当前类的实例化对象,上面的class1 取得直接是当前类所以 get method不出异常的情况下 , 实际上相当于 当前对象实例调用了自己 key (方法名) 方法
第二个this 就是当前类 对象实例
this 指的是目标实例。 就是你的方法所在类的实例。
页:
[1]