当我使用反射时,我遇到了这个错误。我有一个名为 Test1 的类,当我尝试通过输入 test1 作为 Class.forName() 的输入来获取它的 Class 对象时,它会生成 LinkageError 而不是 ClassNotFoundException。为什么小写字母会混淆程序并阻止它生成通常的 ClassNotFoundException,例如“sjghdjgh”?
最小的例子
主要的
public class Main {
public static void main(String[] args) {
try {
Class.forName("test1");
}
catch (ClassNotFoundException cnfe) {
System.out.println(cnfe.toString());
}
catch (LinkageError le) {
System.out.println(le.toString());
}
}
}
测试1
public class Test1 {
}