反射文件配置
package com.oracler.demo02; public class Student { public void study(){ System.out.println("学生学习"); } }
package com.oracler.demo02; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Properties; public class Demo01 { public static void main(String[] args) throws Exception { Properties pro=new Properties(); // 明确数据源 FileInputStream fis=new FileInputStream("src/com/oracler/demo02/pro.Properties"); // 存入 pro.load(fis); // 获取类名 String className=pro.getProperty("className"); // 获取方法名对象 String methodName=pro.getProperty("methodName"); // 获取字节码文件对象 Class c=Class.forName(className); // 获取方法对象 Method m=c.getDeclaredMethod(methodName); // 快速穿件对象 Object o=c.newInstance(); // 调用方法 m.invoke(o); } }
文件
className=com.oracler.demo02.Student methodName=study