当前位置: 代码迷 >> J2SE >> 为啥无法load class
  详细解决方案

为啥无法load class

热度:151   发布时间:2016-04-24 12:08:57.0
为什么无法load class
在同一个package底下建立了两个类Class1,和Class2
在Class1的函数中写下:

Class<?> clazz2 = ClassLoader.getSystemClassLoader().loadClass("Class2");
运行时报错:Exception in thread "main" java.lang.ClassNotFoundException: Class2
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at Package1.Class1.main(Class1.java:20)

同一位置,如果改成:
Class<?> clazz2 = Class2.class;
就对了

为什么?

------解决方案--------------------
Class<?> clazz2 = ClassLoader.getSystemClassLoader().loadClass("Class2");

是不是要加包名 所说在同一个包下 但是毕竟有双引号
  相关解决方案