本帖最后由 徐彦淏 于 2013-4-18 09:29 编辑
已知一个类,定义如下:
public class DemoClass {
public void run(){
System.out.println("welcome to heima!");
}
}
(1) 写一个Properties格式的配置文件,配置类的完整名称。
(2) 写一个程序,读取这个Properties配置文件,获得类的完整名称并加载这个类,用反射 的方式运行run方法。
*/
import java.io.*;
import java.util.*;
import java.lang.reflect.Method;
public class Test07 {
public static void main(String[] args) throws Exception {
Properties prop = new Properties(); // 利用Properties加载配置文件
FileInputStream fis = new FileInputStream(new File("path.properties"));// 创建一个读取流
prop.load(fis);
fis.close();
String path = (String) prop.get("className");
Class<?> clazz = Class.forName(path);
Object intance = clazz.newInstance();
Method[] m = clazz.getDeclaredMethods();
for (Method method : m) {
method.invoke(intance, new Object[] {});
}
}
}
path.properties文件内容为 className=com.itheima.DemoClass
|