java反射机制详解 及 Method.invoke getDeclareMethod解释

package kai.wu.dhwerbo.jol;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

/**
 * * *  GOOK LUCK  * *
 *
 * @Author: wkn
 * @Date: 2020/8/14.
 * @DESC:
 */
public class MethInvoke {


    public void add() {
        System.out.println("无参----------");
    }

    public void select(String param) {
        System.out.println("param------------");
    }


    public static void main(String[] args) throws InvocationTargetException, IllegalAccessException {
        Class c  = MethInvoke.class;
        try {

            //无参的方法,通过getDeclaredMethod获取CLASS的method时,parameterTyor是null
            Method method1 = c.getDeclaredMethod("add",null);
            System.out.println("method1->"+method1);
            method1.invoke(new MethInvoke(),null);



            // 有参的方法,通过getDeclaredMethod获取CLASS的method时,parameterTyor是入参对象数组
            Class[] classes = new Class[1];
            classes[0] = String.class;
            Method method2 = c.getDeclaredMethod("select",String.class);
            System.out.println("method2->"+method2);
            method2.invoke(new MethInvoke(),"1");



        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        }


    }

}

java反射机制详解 及 Method.invoke getDeclareMethod解释_第1张图片

 

 

 

 

 

 

 

AVA反射机制

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。

 

 

 

 

 

 

你可能感兴趣的:(Java基础)