java中的反射机制中invoke典型用法来源:http://linjiahua1986.blog.163.com/blog/static/1371822052010025113852419/ java中的反射机制通过invoke方法来实现,这中间主要是是通过一下几个函数实现的
Class.forName ("类名") Class.forName ("类名").newInstance Class.getMethod ("调用的方法名",class[]{参数类列表}) instance.getClass Method.invoke ("对象名","参数封装成的对象") 具体怎么实现,让我们来看一个简单的例子: Class InvokeTest{ private static String algorithm = "Algorithm"; Object invokeMethod(object instance,String fun, Class[] paras, Object[] paraValue){ Object result = null; Method method; try{ method = instance.getClass.getMethod(fun, paras); result = method.invoke(instance, paraValue); }catch(Exception e) { e.printStackTrace(); result = null; } } public static void main(){ int x= 10,y=20; invokeMethod(Class.forName(algorithm),newInstance,"add", Class[] {Class.int,Class.int}, Object[] { new Integer(x), new Integer(y)}) } } Class Algorithm{ public int add(int a,int b){ return a+b; |
|