package org.westos.属性集合类与反射;
public class Student {
public void love() {
System.out.println("学生爱学习");
}
}
package org.westos.属性集合类与反射;
public class Teacher {
public void love() {
System.out.println("老师爱学生");
}
}
package org.westos.属性集合类与反射;
public class Worker {
public void love() {
System.out.println("工人爱工作");
}
}
package org.westos.属性集合类与反射;
import java.io.FileReader;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.util.Properties;
public class Text {
public static void main(String[] args) throws Exception {
//创建属性集合类对象
Properties prop = new Properties();
//创建字符读取流对象
FileReader fr = new FileReader("e:\\demo.txt");
//加载文件,关闭资源
prop.load(fr);
fr.close();
//通过键获取值
String name = prop.getProperty("name");
String method = prop.getProperty("method");
//获取类对象
Class c = Class.forName(name);
//获取无参构造方法
Constructor con = c.getConstructor();
//创建对独享
Object obj = con.newInstance();
//获取Method对象
Method m = c.getMethod(method);
//调用方法
m.invoke(obj);
//接下来我们只需要修改e:\\demo.txt文件中,name键对应的值
//就可以分别输出Student,Teacher,Worker对象的love方法
}
}
属性集合类所加载的文件
name = org.westos.属性集合类与反射.Worker
method = love