一、方法的反射
1.1、方法的名称和方法的参数列表才能唯一决定某个方法。
1.2、方法的反射操作
method.invoke(对象,参数列表);
基本语法:
例如:Demo demo= new Demo(); 方法名为print(int num,String name)
Class c = demo.getClass();//获取类的类类型
Method method = c.getMethod("方法名称",参数列表);
例如:
Method method = c.getMethod("print",new Class[]{Integer.class,String.class});
或者
Method method = c.getMethod("print",Integer.class,String.class);
如果没有传递的参数
Method method = c.getMethod("print"); //获取到方法
//操作方法
Object o = m.Invoke(对象,参数值列表);
例如:
Object o = m.Invoke(demo,new Object[]{1,"Hellow Word!"});
或者
Object o = m.Invoke(demo,1,"Hellow Word!");
如果没有传递的参数值
Object o = m.Invoke(demo); //获取到方法
注意:
如果没有返回值,则Object 为空。