反射相关
转载请注明出处,亲
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);
这个很关键,就是找类里面的方法,参数一定要对,因为方法可能是多态的。所以参数类型一定不能错.