Java反照大阅兵
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