我写了一个类加载器,之后将类加载后,调用此类的方法时出错,不知道是哪里出了问题,请各位帮忙!
myClassLoader objClassLoader = new myClassLoader();
Class clas = objClassLoader.loadClass( "accounmeta",true ); //accounmeta是要加载的类名
Class paraType[] = {(new int[0]).getClass()};
Method metaFunction = clas.getMethod("withdraw",paraType); //withdraw是accounmeta类中要执行的方法
Integer funargs = new Integer(10000);
Object arg[] = {funargs};metaFunction.invoke(null,arg);
myClassLoader objClassLoader = new myClassLoader();
Class clas = objClassLoader.loadClass( "accounmeta",true ); //accounmeta是要加载的类名
Class paraType[] = {(new int[0]).getClass()};
Method metaFunction = clas.getMethod("withdraw",paraType); //withdraw是accounmeta类中要执行的方法
Integer funargs = new Integer(10000);
Object arg[] = {funargs};metaFunction.invoke(null,arg);
account是我装载的类,withdraw是这个类的方法.
好象是下面语句处有问题:
public Class loadClass( String name,boolean resolve )
{
Class objClass = null;
objClass = findLoadedClass(name);
try{
byte raw[] = getBytes( classFileName );
objClass = defineClass( name,raw,0,raw.length );
}catch( IOException ie )
{
System.out.println("defineClass:");
}