检查类是否存在的一种常见方法是执行 Class.forName("my.Class")。您可以使用捕获 ClassNotFoundException 的 try/catch 来包装它并决定要做什么。如果需要,您可以在具有 main() 的包装类中执行此操作。您可以尝试加载该类,如果成功,则在加载的类上调用 main() ,如果没有,则执行其他操作。
public static void main(String arg[]) {
try {
Class.forName("my.OtherMain");
// worked, call it
OtherMain.main();
} catch(ClassNotFoundException e) {
// fallback to some other behavior
doOtherThing();
}
}
Class.forName()是Java中的一个反射方法,用于根据类的完整限定名(fully qualified name)加载类并返回对应的Class对象。它的作用是在运行时动态地加载类,可以在编写通用代码时动态地加载不同的类,从而实现更高的灵活性和可扩展性。