美文网首页
反射获取成员方法 并运行ReflectRun

反射获取成员方法 并运行ReflectRun

作者: 勇者与王者 | 来源:发表于2019-10-08 00:07 被阅读0次
package Day32_Reflection;

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

/**
 * @Author quzheng
 * @Date 2019/10/7 23:20
 * @Version 1.0
 *
 * 反射 获取空参数成员方法 并运行
 *
 * 反射 获取有参数的成员方法 并运行
 */
public class ReflectRun {
    public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InstantiationException, InvocationTargetException {
        Class c = Class.forName("Day32_Reflection.Person");

        // Method[] getMethods() 获取的是class 文件中的所有公共成员方法,包括继承的
        Method[] ms = c.getMethods();
        for (Method m : ms){
//            System.out.println(m);
        }

        // 获取指定的方法 getMethod(String methodName,Class...c)
        Method m1 = c.getMethod("eat");
        System.out.println(m1);

        // 使用Method 类的方法  invoke(Object obj,Object...o)  运行获取到的方法
        // invoke(Object obj,Object...o) 第一个参数为对象,第二个参数为 方法的参数列表
        Object obj = c.newInstance();
        m1.invoke(obj);

        // 调用 Class 类的方法 getMethod() 获取指定的方法
        Method m2 = c.getMethod("sleep",String.class,int.class,double.class);
        m2.invoke(obj,"休眠",100,888.99);

    }
}

相关文章

  • 反射获取成员方法 并运行ReflectRun

  • 2020-07-04【反射】

    类加载 类加载器 反射概述 获取Class类的对象 反射获取构造方法并使用 反射获取成员遍历并使用 反射获取成员方...

  • android 反射的原理与使用

    反射:在运行状态下,通过class文件对象(Class的对象),去使用构造方法,成员变量,成员方法。 获取clas...

  • android 反射的原理与使用

    反射:在运行状态下,通过class文件对象(Class的对象),去使用构造方法,成员变量,成员方法。 获取clas...

  • Java的反射机制

    本人翻译并整理自Oracle官方文档 Java的反射机制允许在程序运行时去获取一个类(class)的成员变量和方法...

  • 反射

    反射 1、什么是反射技术? 动态获取指定类以及类中的内容(成员),并运行其内容。应用程序已经运行,无法在其中进行n...

  • Swift底层探索:反射

    反射Mirror 反射就是可以动态获取类型、成员信息,在运行时可以调用方法、属性等行为的特性。对于纯Swift类来...

  • iOS学习笔记48-Swift(八)反射

    一、Swift反射 所谓反射就是可以动态获取类型、成员信息,在运行时可以调用方法、属性等行为的特性。 在使用OC开...

  • Java学习笔记 27 - 类的加载器、反射

    本文内容介绍1、类加载器2、反射构造方法3、反射成员变量4、反射成员方法5、反射配置文件运行类中的方法 01类加载...

  • 反射 Mirror | Swift 动态性

    Mirror是Swift中的反射机制,反射就是可以动态的获取类型以及成员信息,同时也可以在运行时动态的调用方法和属...

网友评论

      本文标题:反射获取成员方法 并运行ReflectRun

      本文链接:https://www.haomeiwen.com/subject/keyvpctx.html