Java第三十七天,基础增强,反射案例——利用配置文件执行指定类的指定方法

1.在src目录下创建配置文件 config.properties (文件名自定义,扩展名为properties)

注意:该配置文件用于指明运行那个类的哪个方法

ClassName=com.huhai.Dog
MethodName=eat

2.编写实体类(业务类)代码

package com.huhai;

public class Dog {

    public void eat(){
        System.out.println("二哈开始吃饭了");
    }
}

3.编写核心代码

package com.huhai;

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

public class Realize {
    public static void main(String[] args) throws IOException, ClassNotFoundException, IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException {
        Properties pro = new Properties();
        //获取本类的类加载器对象
        ClassLoader loader = Realize.class.getClassLoader();
        //利用类加载器对象获取配置文件
        InputStream in = loader.getResourceAsStream("config.properties");
        //利用Properties加载配置文件
        pro.load(in);
        //获取配置文件的内容
        String className = pro.getProperty("ClassName");
        String methodName = pro.getProperty("MethodName");

        //用反射加载类,并且创建对象、执行方法
        //得到类名
        Class myClass = Class.forName(className);
        //得到方法名
        Method method = myClass.getMethod(methodName);
        //构造对象
        Object obj = myClass.newInstance();
        //运行指定类的指定方法
        method.invoke(obj);
    }
}
作者:蓝月

-------------------------------------------

个性签名:能我之人何其多,戒骄戒躁,脚踏实地地走好每一步

原文地址:https://www.cnblogs.com/viplanyue/p/13573760.html