以下是我的代码编译得很好但我在运行时得到ClassNotFoundException
案例2,我的问题是为什么我收到案例2的错误:
命令java Var Var
输出false
命令java Var Object
输出ClassNotFoundException : Object
class Var
{
public static void main(String[] args) throws Exception
{
Thread t = new Thread();
System.out.println(Class.forName(args[0]).isInstance(t));
}
}
答案 0 :(得分:3)
完全限定的类名是java.lang.Object
。
编译器自动导入java.lang。*,这就是你不必从这个包中导入类的原因。但是,如果您致电Class.forName
,则必须使用完全限定的类名。