我尝试在一个简单的程序中动态加载类,有趣的是,当我尝试动态加载具有简单名称的类时,它会因 classnotfoundexception 而失败。仅当类位于默认包以外的包下时才会发生这种情况。
但是当我指定完整路径名时,动态加载成功。正在加载的类与 Main 类在同一个包中。
文件 Main.java:
public class Main {
public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
System.out.println(Class.forName("m"));
}
}
class m extends Main{
}