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反射调用配置文件构造类对象,使用其方法
最新推荐文章于 2023-01-26 16:52:32 发布
本文通过一个具体实例展示了Java反射机制的应用,包括动态加载类、获取并设置字段值以及调用方法等核心操作。
2207

被折叠的 条评论
为什么被折叠?



