Java Method、Field、Constructor类(反射)
1、Method类 java.lang.reflect.Method 使用 Java 的反射机制获得的指定类中指定方法的对象; Method 类的对象可以是类方法,也可以是实例方法; 通过反射调用类的私有方法时,要先在这个私有方法对应的 Method 对象上调用 setAccessible(true) 来取消对这个方法的访问检查,再调用 invoke() 方法来执行这个私有方法。 1)invoke方法 Object invoke(Object obj, Object... args) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException obj:调用方法的对象; args:为指定方法传递的参数值,是一个可变参数; invoke() 方法的返回值为动态调用指定方法后的实际返回值; 如果调用的底层方法是静态的,则指定的obj 参数被忽略。它可以是null。 如果调用的底层方法所需的形式参数数量为 0,提供的args数组的长度可以为0或null。 想调用的底层方法没有访问权限报IllegalAccessException;调用的底层方法有异常报InvocationTargetException。 2)其他常用方法 —— String getName()