JAVA,反射使用demo,通过读取配置文件创建类,调用方法

2021/7/28 22:06:25

本文主要是介绍JAVA,反射使用demo,通过读取配置文件创建类,调用方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

反射的好处:通过读取配置文件拿到类的全路径和方法,可以不改变代码的前提下,创建任意对象,调用任意方法。

测试student类如图:

 

 配置文件如图:

 

 运行如图:

 

 测试代码如下:

package com.java.day31UseReflect;

import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Properties;

// 不改变任意代码前提下,创建任意对象,并执行任意方法
// 步骤 配置文件和反射
public class UseReflect {
    public static void main(String[] args) throws IOException, ClassNotFoundException, NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException {
        // 加载配置文件
        Properties pro = new Properties();
        ClassLoader classLoader = UseReflect.class.getClassLoader();
        // 找到文件路径,加载文件
        InputStream stream = classLoader.getResourceAsStream("conf.properties");
        pro.load(stream);
        // 读取配置文件,拿到类路径和方法
        String className = pro.getProperty("className");
        String methodName = pro.getProperty("methodName");
        // 拿到字节码,加载进内存
        Class<?> c1 = Class.forName(className);
        // 创建对象
        Object obj = c1.newInstance();
        // 获取方法对象
        Method c1Method = c1.getMethod(methodName);
        // 调用方法执行
        c1Method.invoke(obj);


    }
}

 

 



这篇关于JAVA,反射使用demo,通过读取配置文件创建类,调用方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程