Java反照大阅兵

Java反射大阅兵1. 取得类装载器ClassLoader cl String.class.getClassLoader()?2. 根据类装载器加载类

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