java反射示例

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章