Java反射机制之成员方法的反射

来源:互联网 发布:酒店网络监控设计方案 编辑:程序博客网 时间:2024/05/28 15:33

Method类代表某个类中的一个成员方法。

得到类中的一个方法:

例:Method charAt = Class.forName("java.lang.String").geteMethod("charAt",int.class); 第一个参数为方法名,第二个参数为charAt方法的参数类型


调用方法:

通常方式:str.charAt(1);

反射方式:charAt.invoke(str,1);第一参数为操作的对象,第二个为charAt传入的参数


public class MethodReflect {public static void main(String[] args) throws NoSuchMethodException, SecurityException, IllegalAccessException,IllegalArgumentException, InvocationTargetException {String str = "abc";/* 通过反射机制获取方法 */Method methodCharAt = String.class.getMethod("charAt", int.class);/* 通过方法去调用对象,第一个参数是操作的对象,第二个参数是charAt要传入的参数 */char ch = (char) methodCharAt.invoke(str, 1);System.out.println(ch);}}

注:这里的调用是方法去调用对象,这个就像人关门,关门的动作是门的而不是人的。

0 0