在测试static块时间,想要调用Class.forName()来加载类,需要注意此方法要求必须要抛出异常,否则报错。

但在之后却一直抛出java.lang.ClassNotFoundException异常,如下代码:

try
{
Class.forName("triangle2");
}
catch(Exception e)
{
e.printStackTrace();
}

其中triangle2是一个明明白白存在的类,换成其他的类也都一样还是抛异常。

后来查看文档是发现它举得例子是Class t = Class.forName("java.lang.Thread");

于是试着把包名也加上,改为

try
{
Class.forName("leet3.triangle2");
}
catch(Exception e)
{
e.printStackTrace();
}

果然OK了,看来还是要多看文档,多上百度?

05-11 18:32