不太明白JDBC里面的一条语句
不太明白JDBC里面的一条语句
connection con;
con=Drivermanager.getConnection( ) ;
Drivermanager.getConnection( )是drivermanager类名直接调用静态方法getconnection
但是赋给CON这个对象让我有点想不明 。可以这样直接赋值吗? 我对OOP不太了解,高手解释一下哦。
问题点数:40、回复次数:13Top
1 楼stonegump(龙飞虎)回复于 2003-08-03 22:27:11 得分 5
当然可以了,这是最常用的啊!只要等号右边的对象类型和左边相同就可以(或者是其子类型)。建议看一下编程思想。Top
2 楼wangwd(coffee I love)回复于 2003-08-03 22:38:20 得分 5
connection con;这一句是对象声明,这只是声明了一个对象,并没有赋值,也就是以内存中并没有这个对象的地址
con=Drivermanager.getConnection( ) ;这一句是赋值,使一个变量与一个具体的内容相连,也就是生成一个对象实例的引用。
这两句可以分开,但通常是合在一起的,也就是声明与赋值是在一起
connection con=Drivermanager.getConnection( ) ;就是这样一种格式
Top
3 楼inflames(inflames)回复于 2003-08-03 22:40:17 得分 0
可以。Top
4 楼nodreamer(我想抽烟)回复于 2003-08-03 23:02:49 得分 5
不明白你为什么会迷惑
很简单的先声明后赋值呀Top
5 楼ludingping(http://blog.csdn.net/ludingping)回复于 2003-08-03 23:07:15 得分 0
主要用了单例模式, 将一个对象在工厂中创建出来。 然后用静态方法赋值出来。
出于什么目的用单例模式,我在思考。。。。。Top
6 楼rongrongGsr()回复于 2003-08-04 17:56:02 得分 0
同种类型当然可以互相赋值啊 :)Top
7 楼fast_time(fast_time)回复于 2003-08-04 18:07:55 得分 5
Drivermanager.getConnection( )中创建了数据库连接,然后返回相应的数据连接对象的引用,这样,外面接收的变量就引用到相应的那块内存Top
8 楼one_bird(一鸟)回复于 2003-08-04 18:59:58 得分 0
学习~!Top
9 楼learnner( )回复于 2003-08-04 19:05:10 得分 5
con是connection类型的变量,Drivermanager.getConnection()的返回值也是connection类型的实例,所以就这么赋值了,正好合适呀Top
10 楼seven1996(小七)回复于 2003-08-04 19:28:14 得分 5
楼主
这就是简单的引用方法
方法有返回值就赋值给一个变量啊
要求变量的类型要和方法的返回值类型相同Top
11 楼dior(oak)回复于 2003-08-04 20:57:19 得分 0
谢谢,
不过Drivermanager.getConnection()的返回值类型从那里能看出和connection类型是一样的?Top
12 楼cxhz_cn(Eclipse Boy)回复于 2003-08-04 22:15:30 得分 5
Drivermanager.getConnection( )返回的是一个Conneciton类型
class DriverManger{
static Connection getConnection(){
}
}Top
13 楼Wnyu(西门吹水II -- 单脚站在独木桥上)回复于 2003-08-04 22:58:50 得分 5
返回值是Connection类型, con又被平定义为Connection, 所以能赋值。Top




