反射-通过反射运行配置文件内容

来源:互联网 发布:js时间戳和时间转换 编辑:程序博客网 时间:2024/06/06 05:40
package cn.itcast.test;public class Student {public void love() {System.out.println("爱生活,爱Java");}}
package cn.itcast.test;public class Teacher {public void love() {System.out.println("爱生活,爱青霞");}}
package cn.itcast.test;import java.io.FileReader;import java.lang.reflect.Constructor;import java.lang.reflect.Method;import java.util.Properties;/* * 通过配置文件运行类中的方法 *  * 反射: * 一般需要有配置文件配合使用。 * 用class.txt代替。 * 并且你知道有两个键。 * className=cn.itcast.test.Student *          methodName=love *  */public class Test {public static void main(String[] args) throws Exception {// 反射前的做法// Student s = new Student();// s.love();// Teacher t = new Teacher();// t.love();// 反射后的做法// 加载键值对数据Properties prop = new Properties();FileReader fr = new FileReader("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 m = c.getMethod(methodName);m.invoke(obj);}}

阅读全文
0 0