大家学反射都知道,当我们利用反射操作类里面的成员时,为什么操作实例成员还要要传递一个对象给它,而静态成员就不需要传递一个对象给它 ?
如:
public class BirdMan {
public static void cry() {
System.out.println("I'm crying");
}
public void shout() {
System.out.println("I'm shouting");
}
public static void main(String[] args) throws Exception {
Class.forName("cn.itcast.draft.BirdMan").getMethod("cry", null).invoke(null, null) ; //invoke方法没有传递对象
BirdMan bm = new BirdMan() ;
Class.forName("cn.itcast.draft.BirdMan").getMethod("shout", null).invoke(bm, null) ; //invoke方法传递了对象
}
} |