className=Domain.Person
methodName=eat
这是配置文件pro.properties文件
eg:
import java.io.InputStream;
import java.lang.reflect.Method;
import java.util.Properties;
public class ReflectEg {
public static void main(String[] args) throws Exception{
//eg:可以创建任意对象,执行任意的方法
//1.1加载配置文件
Properties pro=new Properties();
//1.2加载配置文件,转换为一个集合
//1.2.1获取class目录下的配置文件
ClassLoader classLoader=ReflectEg.class.getClassLoader();
InputStream is=classLoader.getResourceAsStream("pro.properties");
pro.load(is);
//2.获取配置文件中定义的数据
String className=pro.getProperty("className");
String methodName=pro.getProperty("methodName");
//3.加载该类进内存
Class cla=Class.forName(className);
//4.创建对象
Object obj=cla.newInstance();
//5.获取对象方法
Method method=cla.getMethod(methodName);
//6.执行方法
method.invoke(obj);
}
}