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


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