package cn.itcast_05;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.util.Properties;
/*
*
* 通过配置文件运行类中的方法
*
* 反射;
* 需要有配置文件给配合使用
* 用class.txt代替
* 并且你知道有两个键
* ClassName
* methodName
*/
public class 通过反射运行配置文件 {
public static void main(String[] args) throws IOException, Exception {
//反射前的做法
// Student s = new Student();
// s.love();
// Teacher t = new Teacher();
// t.love();
// Worker w = new Worker();
// w.love();
//反射后的做法
//可以把文件中键值对加载到里面
Properties prop = new Properties();
//加载键值对数据
FileReader fr = new FileReader("class.txt");
prop.load(fr);
fr.close();
//获取数据
String className = prop.getProperty("className");
String methodName = prop.getProperty("methodName");
//反射
Class c = Class.forName(className);
Constructor con = c.getConstructor();
Object obj = con.newInstance();
//调用方法
Method m = c.getMethod(methodName);
m.invoke(obj);
}
}
通过反射运行配置文件
最新推荐文章于 2021-02-13 19:14:03 发布
677

被折叠的 条评论
为什么被折叠?



