社区
Web 开发
帖子详情
Class.forName("")的.instance()有什么用处
bbshero
2003-08-22 04:17:29
Class.forName("")的
.instance()函数有什么用处,为什么连接odbc时就不用
而连接oracle时就必须用?
...全文
36
8
打赏
收藏
Class.forName("")的.instance()有什么用处
Class.forName("")的 .instance()函数有什么用处,为什么连接odbc时就不用 而连接oracle时就必须用?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
diewikwang
2003-08-22
打赏
举报
回复
如果确实想用getInstance()来连接jdbc,也可以用这种办法
Driver driver = (Driver)Class.forName("xx").newInstance();
driver.connect();
yll6865
2003-08-22
打赏
举报
回复
我觉的:
连接oracle时,用Class.fornNme是验证是否有jdbc包,如果没有就可以产生异常。
但对于odbc,就不需要验证是否有jdbc包,它采用java.sql.*中的类
bbshero
2003-08-22
打赏
举报
回复
up
diewikwang
2003-08-22
打赏
举报
回复
如果这句是用于数据库连接,一般数据库的Driver class里面都会有一段
程序,这段程序把自己在jvm里面注册一下,以便在DriverManager.getConnection
的时候在jvm能找到适当的Driver。而这段代码估计是写在static{...}里面。
至于.getInstance()是生成一个实例了,这里应该是用无参数的构造函数来
建立一个实例。
Schlemiel
2003-08-22
打赏
举报
回复
Class.forName(className)方法显式要求classloader加载className代表的类。使用JDBC时,driver的实际类型是以字符串的形式传给JDBC库的,JDBC库通过反射调用driver的方法。如果classloader并没有实际加载driver的类,调用就会出错。所以在使用JDBC之前通常先用forName方法强制要求classloader加载driver类。
Class.newInstance()方法创建该类的一个实例,相当于调用该类的无参数构造子。在这里没有实际的作用,顶多也就是确保classloader的确加载了driver类吧。
Wkenny
2003-08-22
打赏
举报
回复
不需要的
njtu
2003-08-22
打赏
举报
回复
同样的疑惑?
cxjd
2003-08-22
打赏
举报
回复
好像instance()可有可无,但一般都把他给写上的
继续关注
java中
Class
.forName的作用浅谈
介绍了java中
Class
.forName的作用,有需要的朋友可以参考一下
Class
.forName()用法详解
目录 1.什么是
class
对象 2.获得
class
对象的三种方法 3.
class
的作用和方法 4
Class
.forName()用法 4.1 什么时候用
Class
.forName()? 4.2 new
Instance
和new关键字的区别 5 应用问题解析 情景一:载入数据库驱动的时候 情景二:使用AIDL与电话管理Servic进行通信 1.什么是
class
对象 类是程序的一部分,每个类都有一个
class
对象。换言之,每当编写并且编译了一个新类,就会产生一个
class
对象(更...
关于
class
.forName().new
Instance
()的作用
1)
Class
.forName("");的作用是要求JVM查找并加载指定的类(java里面任何
class
都要装载在虚拟机上才能运行),如果在类中有静态初始化器的话,JVM必然会执行该类的静态代码段。在加载完成后,一般还要调用
Class
下的new
Instance
( )静态方法来实例化对象以便操作。构造函数是在当类被实例化的时候才会执行。
Class
.forName("")返回的是类 2)首先
Class
.forName()、
Class
.forName().new
Instance
() 、New
Class
.forName(xxx.xx.xx)返回的是一个类。
Class
.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段。 从JVM的角度看,我们使用关键字new创建一个类的时候,这个类可以没有被加载。但是使用new
Instance
()方法的时候,就必须保证:1、这个类已经加载; 2、这个类已经连接了。 ...
Class
.forname与
Class
.forname.new
Instance
有的jdbc连接数据库的写法里是
Class
.forName(xxx.xx.xx);而有一些:
Class
.forName(xxx.xx.xx).new
Instance
(),为什么会有这两种写法呢?
Class
.forName(xxx.xx.xx) 返回的是一个类, .new
Instance
() 后才创建一个对象
Class
.forName(xxx.xx.xx);的作用是要求JVM查找并...
Web 开发
81,094
社区成员
341,717
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章