Student类:
public class Student { public void study(){ System.out.println("好好学习,天天向上"); } }
Teacher类:
public class Teacher { public void teach(){ System.out.println("Java是世界上最好的语言"); } }
配置文件默认设置:
使用反射来运行配置文件指定的Student类
public class ReflectTest02 { public static void main(String[] args) throws IOException, ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException { //加载数据 Properties prop = new Properties(); FileReader fr = new FileReader("myReflect\\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 method = c.getMethod(methodName); method.invoke(obj); } }
运行结果:
修改配置文件内容:
修改配置文件后的运行结果: