java反射示例
package com.jzy.reflect; import java.lang.reflect.Method; public class TestFun { public int addNumber(int i,int j){ return i+j; } public static void main(String[] args){ try { Class cl=Class.forName("com.jzy.reflect.TestFun"); Object obj=cl.newInstance(); //创建对象,调用的是无参的构造方法 Method method=cl.getDeclaredMethod("addNumber",new Class[]{int.class,int.class}); //获取方法 int result=(Integer)method.invoke(obj, new Object[] {new Integer(10),new Integer(20)}); //方法调用 //method.getAnnotations(); //返回此元素上存在的所有注释。(如果此元素没有注释,则返回长度为零的数组。)该方法的调用者可以随意修改返回的数组;这不会对其他调用者返回的数组产生任何影响。 System.out.println(result); } catch (Exception e) { e.printStackTrace(); } } }