转载请注明出处,亲
class hello {
public static void main(String[] args) {
Class<?> demo = null;
try {
demo = Class.forName("Reflect.Person");
} catch (Exception e) {
e.printStackTrace();
}
try{
//调用Person类中的frank方法
Method method=demo.getMethod("frank");
method.invoke(demo.newInstance());
//调用Person的sayHello方法
method=demo.getMethod("sayHello", String.class,int.class);
method.invoke(demo.newInstance(),"Rollen",20);
}catch (Exception e) {
e.printStackTrace();
}
}
}
method.invoke(demo.newInstance());这个就是实例化类,不然找不到内部的方法
method=demo.getMethod("sayHello", String.class,int.class);
这个很关键,就是找类里面的方法,参数一定要对,因为方法可能是多态的。所以参数类型一定不能错.