gpt4 book ai didi

java - Class.forName() 和 ClassNotFoundException

转载 作者:行者123 更新时间:2023-11-30 05:50:57 26 4
gpt4 key购买 nike

假设我有以下两个类:

public class MyClass {
public String getDescription() {
return "MyClass";
}
}

public class MyClassLoader {
public static void main (String[] argv) throws ClassNotFoundException {
Class.forName("MyClass");
System.out.println("MyClass class was successfully loaded");
}
}

如果这两个类都在默认包中,它运行良好,类加载,世界很美。 (如果我要删除类 MyClass,我会得到一个 ClassNotFoundException,正如预期的那样。

但是,如果它们都在一个包中(假设它是 Eclipse 中的一个包),并且有

package myClassTestPackage;

在两者中声明,当我尝试运行它时得到一个 ClassNotFoundException

导致此问题的原因是什么,我该如何解决?这是我能够重现我在一个更大的程序中遇到的错误的最简单方法。

最佳答案

那是因为 Class.forName() method将完全限定的类名作为参数。

Parameters:
className - the fully qualified name of the desired class.

所以:

Class.forName("myClassTestPackage.MyClass");

关于java - Class.forName() 和 ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13326890/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com