`

ClassForName

    博客分类:
  • JDK
阅读更多
这个方法说简单,的确简单,但是很多人不明白其意义和用法,以下作简单要说明:
public static Class<?> forName(String className)

此方法和以下的方法调用是一致的
Class.forName(className, true, currentLoader)

当前ClassLoader,表示的是当前类的定义类加载器[不明白定义类加载器的可以Google]
这里的currentLoader一般指的是调用此方法的类加载器.
currentLoader = ClassLoader.getCallerClassLoader();

ClassLoader得到调用者的ClassLoader的方法是静态的本地方法,所以子类不允许重写。
其中中间的initialize为true,表示初始化(class)类对象。
最经典的应用:
Class.forName(“org.mysql.DriveManager”);

加载数据库驱动,此初始化方法,如果驱动找不动,或者驱动依赖的包找不到都会报错.

以上是第一种用户,第二种用法如下:
.
public static Class<?> forName(String name, boolean initialize,
				   ClassLoader loader)

如果ClassLoader为空,那么么使用bootstrap的类加载器。
关于ClassLoader,可以查看下一篇文章.
0
0
分享到:
评论

相关推荐

    Java连接SQL+Server2000数据库的方法.docx

    this.classforname = classforname; this.uid = uid; this.pwd = pwd; } public Connection getConnection() { Connection conn = null; try { Class.forName(classforname); conn = DriverManager.get...

    Java Class.forName()无法加载类

    NULL 博文链接:https://listen-raining.iteye.com/blog/1894456

    Java连接SQLServer2000数据库+所需文件驱动JAR

    通过Microsoft的JDBC驱动...驱动程序名称:com.microsoft.jdbc.sqlserver.SQLServerDriver(即下面的classforname) 数据库连接URL:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname(即下面的url)

    Java连接SQL+Server2000数据库的方法.pdf

    // 修改URL, classforname, uid, pwd以匹配你的环境 private String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname"; private String classforname = ...

    java开发的

    这里的`classForName`指定了SQL Server的JDBC驱动类,`url`指定了数据库的URL地址,包括服务器地址、端口号及数据库名称。 ##### 2. 解析XML文档 接下来需要解析XML文档。这里采用了DOM(Document Object Model)...

    Java连接SQL+Server2000数据库的方法[参考].pdf

    Class.forName(classforname); if (conn == null || conn.isClosed()) { conn = DriverManager.getConnection(url, uid, pwd); } } catch (ClassNotFoundException ex) { ex.printStackTrace(); } catch ...

    用Java连接SQL Server2000数据库有多种方法

    Class.forName(classforname); if (conn == null || conn.isClosed()) { conn = DriverManager.getConnection(url, uid, pwd); } } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); ...

    如何连接到数据库.doc

    Class.forName(classforname); if (conn == null || conn.isClosed()) conn = DriverManager.getConnection(url, uid, pwd); } catch (ClassNotFoundException ex) { // 处理找不到驱动的异常 } catch ...

    用Java连接SQL Server数据库的多种方法

    Class.forName(classforname); if (conn == null || conn.isClosed()) conn = DriverManager.getConnection(url, uid, pwd); } catch (ClassNotFoundException ex) { ex.printStackTrace(); } catch ...

    如何连接SQL2000数据库(Java版)

    Class.forName(classforname); if (conn == null || conn.isClosed()) { conn = DriverManager.getConnection(url, uid, pwd); } } catch (ClassNotFoundException ex) { ex.printStackTrace(); } catch ...

    java\Java swing 连接数据库的步骤

    - `CLASSFORNAME`:SQL Server驱动的类名。 - `DBURL`:包含服务器地址、端口号和数据库名称。 - `USER`和`PASS`:用于身份验证的数据库用户名和密码。 5. **创建数据库连接**: 使用`Class.forName()`方法加载...

    xml连接数据库例子

    &lt;ClassForName&gt;com.microsoft.jdbc.sqlserver.SQLServerDriver&lt;/ClassForName&gt; &lt;URL&gt;jdbc:microsoft:sqlserver:// &lt;Temp&gt;: ;DatabaseName= ``` 在这个XML文件中,`User`元素包含了数据库连接的基本信息,如...

    jave连接sql2005全

    Class.forName(classforname); if (conn == null || conn.isClosed()) { conn = DriverManager.getConnection(url, uid, pwd); } } catch (ClassNotFoundException ex) { ex.printStackTrace(); } catch ...

    JAVA DB连接池

    Class.forName(classforname); if (conn == null || conn.isClosed()) { conn = DriverManager.getConnection(url, uid, pwd); } return conn; } } ``` 这段代码展示了如何通过Microsoft JDBC驱动来连接SQL ...

    重庆信息技术职业学院(《JAVA程序设计》理论考试第一套试题答案).pdf

    例如,正确填写程序中缺失的部分,如 `(“1+2=”+(x+y))` 表示字符串与变量的运算,而 `classforname` 通常用于动态加载类。 3. **简答题**:简答题进一步深入到JAVA开发流程和数据库操作。例如,安装和配置JAVA ...

    Class.forName()_newInstance()_New_三者区别

    在Java编程中,`Class.forName()`, `newInstance()` 和 `new` 关键字都是与对象创建和类加载紧密相关的概念,但它们各自有着不同的用途和限制。 首先,`Class.forName("className")` 是一个静态方法,它用于在运行...

    matlab开发-下载并配置jdbc驱动程序

    classForName(driverClass); % 建立连接 conn = java.sql.DriverManager.getConnection(url, username, password); ``` 这段代码尝试连接到本地的MySQL服务器,数据库名为`mydatabase`,并使用相应的用户名和...

    Java Reflect

    首先,我们来看一下`ClassForName`这个知识点。在Java中,`Class.forName()`方法是获取类的Class对象的关键途径之一。这个方法接受一个字符串参数,该字符串是类的全名(包括包名),然后返回对应类的Class对象。...

    Java中new的用法.pdf

    在文档内容中,存在一些由于OCR扫描导致的错误和遗漏,例如“javaAPInewInstance()”应该理解为“java.lang.Class.newInstance()”,“ClassforName()”应该是“Class.forName()”。这些语法错误需要在实际阅读文档...

    连接mysql数据库驱动程序.zip

    IDEA连接mysql数据库的驱动程序5.1.7版本,IDEA连接mysql数据库的驱动程序5.1.7版本,IDEA连接mysql数据库的驱动程序5.1.7版本,IDEA连接mysql数据库的驱动程序5.1.7版本,IDEA连接mysql数据库的驱动程序5.1.7版本,...

Global site tag (gtag.js) - Google Analytics