我只是测试动态类加载并且正在这样做:
package P1;
public class Class1
{
public static void main(String[] args)
{
Bird myBird = null;
String myClassName = "P2.Bird";
Class x = Class.forName(myClassName);
myBird = (Bird)x.newInstance();
}
}
Bird
是来自包 P2
的类,Class1
来自P1
。我应该在代码中添加什么才能使其工作,因为 String myClassName...
行显示错误(未找到类)。在将 Bird
移动到 package P1
中后,我尝试了相同的代码,即使这样它也不起作用。
相关问题:为什么有人会使用动态类加载,它有什么优点吗?使用“new”运算符进行静态类加载要简单得多(至少乍一看是这样),在这种情况下,我知道如何从不同的包引用该类。非常感谢!
最佳答案
要回答第一个问题,请尝试提及完整的包名称。我试过了,有效
关于java - Java 中的动态类加载 - 引用类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14606726/