Java反射基礎

俗話說溫故而知新,今天又重新溫習了下反射機制,java反射基本三步走
1 通過Class.forName()或者.class方法獲取類對象
2 通過Method獲取method對象
3 通過invoke調用對象裏的方法
附:參考之前學習時候的例子代碼

package utils;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class InvokeTester 
{
    public int add(int param1, int param2)
    {
        return param1 + param2;
    }

    public String echo(String message)
    {
        return "hello " + message;

    }

    public static void main(String[] args) throws InstantiationException, IllegalAccessException, NoSuchMethodException, SecurityException, IllegalArgumentException, InvocationTargetException {
        Class<?> classType = InvokeTester.class;
        Object invokeTester = classType.newInstance();
        System.out.println(invokeTester instanceof InvokeTester);
        Method addMethod = classType.getMethod("add", new Class[] {int.class,int.class});
        Object result = addMethod.invoke(invokeTester, new Object[]{1768,2434});

        System.out.println((Integer)result);

        System.out.println("--------------------------");
        Method echoMethod = classType.getMethod("echo", new Class[]{String.class});
        Object result2 = echoMethod.invoke(invokeTester,new Object[]{"tom"});
        System.out.println((String)result2);


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