反射练习之运行配置文件指定内容
Student类:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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); } }
运行结果:
修改配置文件内容:
修改配置文件后的运行结果:
学习的博客多用于在笔记中,防止笔记过于臃肿,所以将样例及运行结果放在博客中,后以超链接的形式记录在笔记中,所以有些博文过于单薄。如果有小伙伴遇到问题欢迎评论,看到就会回复,学渣一枚,加油努力。