Java学习笔记之Class.forName()
2018-03-29 本文已影响0人
爱敲代码的王小帅
使用过程中一直报错,Unhandled exception type ClassNotFoundException
折腾了我一个晚上,原来根本不是我想的那样。
实际上是因为Class.forName()方法抛出ClassNotFoundException异常,是说未对异常类型ClassNotFoundException进行处理。必须使用try块捕获并处理,因此根本不是找不到类的异常报告。
这时只要用try块把Class.forName("com.mysql.jdbc.Driver")包围即可。
package kown.reflect;
public class ReflectTest
{
public static void main(String[] args)
{
try
{
Class<?> clazz = Class.forName("kown.reflect.Show");
Show show = (Show) clazz.newInstance();
show.test();
} catch (ClassNotFoundException e)
{
e.printStackTrace();
} catch (InstantiationException e)
{
e.printStackTrace();
} catch (IllegalAccessException e)
{
e.printStackTrace();
}
}
}
class Show
{
public void test()
{
System.out.println("hello world!");
}
}