黑马程序员技术交流社区

标题: 想问大神一个类加载器的问题 [打印本页]

作者: Moriarty    时间: 2014-8-14 17:13
标题: 想问大神一个类加载器的问题
我的类加载器哪里错了?出现IlleagerAccessError   class worker not access its superclass person
import java.lang.reflect.*;
import java.io.*;
class myload extends ClassLoader
{
        String path="c:";
        myload()
        {
                super();
        }
        myload(String path)
        {
                this.path=path;
        }
        public Class findClass(String name)throws ClassNotFoundException
        {
                FileInputStream read=null;
                byte[] data=new byte[1024*64];
                int number;
                try
                {
                        read=new FileInputStream(path+File.separator+name);
                        number=read.read(data);
                        return defineClass(data,0,number);
                }
                catch (Exception e)
                {
                }
                return super.findClass(name);
        }
}
class person
{
        String name="xxx";
}
//class worker extends person
//{
//        String name="yy";
//}
public class hhaha
{
        public static void main(String[] args)throws Exception
        {
                Class one=new myload("d:").loadClass("worker.class");
        //        one.newInstance();

        }
}


作者: lancerjs    时间: 2014-8-15 16:03
应该是抛出IllegalAccessError这个异常吧,好像是因为你的person类不是public的,所以反射不到,你试试把类分成单独的java文件写




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2