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(); } } }