日期:2014-05-20  浏览次数:20737 次

ClassLoader.getSystemClassLoader().findLoadedClass("A")这一句错哪儿了
public   class   A   extends   ClassLoader   {

        public   static   void   main(String[]   agrs)   {
                System.out.print(ClassLoader.getSystemClassLoader().findLoadedClass( "A "));
        }
}


源程序如上,编译报错说:   ClassLoader.getSystemClassLoader().findLoadedClass( "A ")   有错。还提示一个单词,protected     好像是说findLoadedClass是protected访问域,疑惑,我这是ClassLoader的子类,可以访问protected呀。

程序究竟错在哪里了,请高人指教!

------解决方案--------------------
子类是子类,但是,要在子类的成员方法里面访问,不要在静态方法里面访问,两者的可见度是不相同的。
你在类里面建一个成员方法,访问父类的findClass方法就可以了。而不是访问SystemClassLoader的findClass方法。
------解决方案--------------------
感激上面的朋友热心回答。
发这帖之前我已在实例方法和静态方法中都试过这一句。编译报的错是相同的。

本帖一直关注中,这个问题作为语法问题困扰死我了!唉。。。希望有朋友早日帮我指点!!
------解决方案--------------------
ClassLoader有findLoadedClass方法吗?

没有吧,找找看