Method
1、Method类代表某个类中的一个成员方法2、得到类中的某一个方法:
例子:Method charAt = Class.forName("java.lang.String").getMethod("charAt",int.class);
3、调用方法:
通常方式:System.out.println(str.charAt(1));
反射方式:System.out.println(charAt.intvoke(str,1))
如果传递给Method对象的invoke()方法的一个参数为null,这有着什么意义呢?说明该Method对象对应的是一个静态方法。静态方法法不需要对象
import java.lang.reflect.*;
public class ReflectTest {
public static void main(String[] args) throws Exception{
Method methodCharAt = String.class.getMethod("charAt", int.class);
System.out.println(methodCharAt.invoke("abc",1 ));
//System.out.println(methodCharAt.invoke(null,1 ));如果为null则为静态方法
//System.out.println(methodCharAt.invoke("abc",new Object[]{2} ));1.5以前,没有可变参数,这么写
}
}