我必须从用户那里获取类名并动态加载它。
public class sample{
public static void main(String[] args) {
if(args.length < 1)
{
print_usage();
}
else{
Class inputClass = null;
try {
inputClass = Class.forName(args[0]);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
我有名为Sample2,Sample3:
的类public class Sample2 {
private String name;
}
public class Sample3 {
private int value;
}
我想根据用户输入加载类,Sample2 / Sample3类。
我将文件放在同一目录中,但是我收到了java.lang.ClassNotFoundException错误。如何解决此错误?
答案 0 :(得分:2)
请更清楚您的问题,我假设您在没有包裹的情况下输入了班级名称 如果它们在包中,则必须使用Class.forName。
Class inputClass = null;
try {
inputClass = Class.forName("my.package.MyClass");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}