反射:
getXXX 获取单个公共(成员变量/成员方法/构造方法)
getXXXs 获取所有公共(成员变量/成员方法/构造方法)组成的数组
getDeclaredXXX 获取单个(成员变量/成员方法/构造方法)
getDeclaredXXXs 获取所有(成员变量/成员方法/构造方法)的数组
Constructor 构造方法
Field 成员变量
Method 成员方法 invoke
反射步骤:
class.forname获取class对象
调用getdeclaredConstructor获取构造方法对象
构造方法对象调用newInstance创建对象,如果方法是private要先用setAccessible给参数true
成员方法:getDeclaredMethod(“方法名”)获得方法对象
方法对象使用invoke(obj对象,如果有参数)来调用方法。如果方法是private同上
成员变量:getDeclaredField,再调用set可以赋值
通过配置文件
加载数据 Properties
Properties pro = new Properties();
FileReader fr = new FileReader("模块名/.../文件名");
pro.load(fr);
fr.close;
模块服务:
ServiceLoader加载服务实现的工具
|
|