java中类的加载Demo
?
?
?
package com.cash.utils;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import com.cash.server.ICommonService;public class ClassUtil { public static String exec(String classString, Object[] objects) { Class<?> convertorClass; String result = null; if (null == classString || "".equalsIgnoreCase(classString)) { return null; } try { convertorClass = Class.forName(classString); ICommonService convertor = (ICommonService) convertorClass .newInstance(); Method istance = convertorClass.getMethod("run", java.lang.String.class,java.lang.String.class,java.lang.String.class); result = (String) istance.invoke(convertor, objects); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SecurityException e) { e.printStackTrace(); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } return result; }}
package com.cash.server;public interface ICommonService { public String run(String para1, String para2, String para3); }
package com.cash.server;public class AService implements ICommonService { @Override public String run(String para1, String para2, String para3) { return para1 + ":" + para2 + ":" + para3; }}?
package com.cash.server;import com.cash.utils.ClassUtil;public class Main { public static void main(String[] args) { Object[] objects = {"I Am "," The " , " Best"}; String result = ClassUtil.exec("com.cash.server.AService", objects); System.out.println(result); }}??
?
1 楼 freish 2011-06-10 不怕新手贴啊 2 楼 chakey 2011-06-10 freish 写道不怕新手贴啊木有关系 3 楼 whao189 2011-06-10 楼主在学习 反射?还是?