——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
反射通过配置文件,运行指定的类和方法
配置文件 写运行类,运行的方法
读取配置文件,获取键值对
类名,和方法名,交给反射运行
import java.util.*;
import java.io.*;
import java.lang.reflect.Method;
public class ReflectTest {
public static void main(String[] args)throws Exception {
//创建集合对象
Properties pro = new Properties();
//创建IO流的,读取配置文件
FileInputStream fis = new FileInputStream("d:\\config.txt");
//集合方法load 读取到的键值对,存储到集合
pro.load(fis);
fis.close();
String className = pro.getProperty("className");
String methodName = pro.getProperty("methodName");
//获取指定类的class文件对象
Class clazz = Class.forName(className);
Object o = clazz.newInstance();
//通过字节码文件对象Class类,获取指定方法
Method m = clazz.getMethod(methodName);
//运行方法
m.invoke(o);
}
}
注意事项:
配置文件:
1.配置文件的位置d:\config.txt
2.写配置文件的时候要写全包名
这里我写了3个测试类
如果想运行Teacher里的方法并不需要改代码,只需要修改配置文件className中值就可以了
不得不说反射很方便。