1packageday16;
2importjava.io.FileInputStream;
3importjava.io.FileNotFoundException;
4importjava.io.IOException;
5importjava.util.Properties;
6importjava.lang.reflect.*;
7publicclassReflectionTest3{
8publicstaticvoidmain(String[]args){
9
10Propertiespro=newProperties();
11Classc=null;
12
13try{
14pro.load(newFileInputStream("./day16/config.txt"));
15c=Class.forName(pro.getProperty("ClassName"));
16Objectobj=c.newInstance();
17
18Fieldf=c.getDeclaredField(pro.getProperty("FieldName"));
19f.setAccessible(true);
20f.set(obj,pro.getProperty("FieldValue"));
21
22Classcc=Class.forName(pro.getProperty("MethodParameterType"));
23Methodm=c.getDeclaredMethod(pro.getProperty("MethodName"),cc);
24m.invoke(obj,pro.getProperty("MethodParameterValue"));
25}catch(Exceptione){
26//TODOAuto-generatedcatchblock
27e.printStackTrace();
28}
29
30
31}
32}
java反射调用配置文件构造类对象,使用其方法
最新推荐文章于 2021-02-12 22:10:02 发布