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; } } 上面代码简洁地说明了invoke的使用
java 反射机制 invoke_java中的反射机制中invoke典型用法
最新推荐文章于 2024-09-21 23:07:09 发布