Java中 Class.forName("ClassName")的作用

通俗解释

Class.forName("ClassName")
这一行代码的作用是把名字叫做ClassName的这个类加载到Java虚拟机里,加载后,就可以使用它来创建对象了。

JDBC使用

要用jdbc,首先要注册驱动的。相信楼主应该熟悉下面的方式,比如注册一个mysql的驱动:
DriverManager.registerDriver(new com.mysql.jdbc.Driver());

那么Class.forName("com.mysql.jdbc.Driver");如果达到了上面的效果,是不是就可以理解了?
这句话是加载com.mysql.jdbc.Driver.java的,看一下这个类的源码就知道了,在这个类的静态代码块是这样写的

static
{
    try
    {
        DriverManager.registerDriver(new Driver());
    } catch (SQLException e) {
        throw new RuntimeException("Can't register driver!");
    }
}

看到了吗,和第一种方式一样的效果。
不光是mysql,sql server ,oracle的驱动都是类似的。

posted @ 2017-06-23 13:54  upan  阅读(555)  评论(0)    收藏  举报