Java反射大阅兵
1. 取得类装载器
ClassLoader cl = String.class.getClassLoader();
?2. 根据类装载器加载类到虚拟机
Class aef = cl.loadClass("com.xunshibao.SomeClassToBeLoaded");?3. 获取类的构造器
Constructor aefCtor = aef.getConstructor(ParameterType.class);
?4. 调用构造器创建对象实例
Object baefValue = aefCtor.newInstance(evaluator);
?5. 获取方法
Method setter = container.getClass().getMethod("setAttributeEvaluatorFactory", aef);setter.invoke(container, baefValue);?6. 如果方法为protected或private,强制设置其为可访问
setter.setAccessible(true);
?
暂时到这里,TBC