论坛首页 Java企业应用论坛

一个常见的JDBC封装导致的问题

浏览 14039 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (11) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-05-16  
kakaluyi 写道
悲剧了 写道
gaosheng08 写道
close()中还要加一句instance = null;


调用的时候传进来的就是instance ,这个connection是通过这个类的getConnection()得到的

lz你难道不知道java通过close方法传递进去的instance只是个引用吗,真正的instance是不会置为null的??


在类的定义中既然有了
private  static Connection   instance=null;  


close()方法中就不要传Connection进去了 
0 请登录后投票
   发表时间:2011-05-16  
算了解释一下,发现楼主还是云里雾里
public void static main(String args[])
{
int i=3;
changevalue(i);
System.out.println(i);
//你以为i现在是2吧,错了,i还是3!不好意思楼主,你理解错误了。这个是很容易搞错的概念
}
public void changevalue(int i)
{
i=2;
}
0 请登录后投票
   发表时间:2011-05-16  
lz的java基础太不扎实了,先把基本功打好吧
0 请登录后投票
   发表时间:2011-05-16  

public static Connection getConnection(){
if(instance==null){
new ConnectionUtil();
}
return instance;

}

你这是什么意思?instance为空的时候,创建了Util对象,instance本来就是个静态类,你创建100个对象,里面的instance还是一个,还是空。
0 请登录后投票
   发表时间:2011-05-16  
kakaluyi 写道
悲剧了 写道
gaosheng08 写道
close()中还要加一句instance = null;


调用的时候传进来的就是instance ,这个connection是通过这个类的getConnection()得到的

lz你难道不知道java通过close方法传递进去的instance只是个引用吗,真正的instance是不会置为null的??





哥们我明白了

con,intance 两个引用指向同一个栈,con为空但intance不为空,开始是以为传进去的是intance

Connection con=instance
con=null
但intance不为空

哎,悲剧,估计又要挨骂了

0 请登录后投票
   发表时间:2011-05-16  
kakaluyi 写道
算了解释一下,发现楼主还是云里雾里
public void static main(String args[])
{
int i=3;
changevalue(i);
System.out.println(i);
//你以为i现在是2吧,错了,i还是3!不好意思楼主,你理解错误了。这个是很容易搞错的概念
}
public void changevalue(int i)
{
i=2;
}



恩,明白了,谢了
0 请登录后投票
   发表时间:2011-05-16  
close方法中的connection参数值传递
0 请登录后投票
   发表时间:2011-05-16  
悲剧了 写道
kakaluyi 写道
悲剧了 写道
gaosheng08 写道
close()中还要加一句instance = null;


调用的时候传进来的就是instance ,这个connection是通过这个类的getConnection()得到的

lz你难道不知道java通过close方法传递进去的instance只是个引用吗,真正的instance是不会置为null的??





哥们我明白了

con,intance 两个引用指向同一个栈,con为空但intance不为空,开始是以为传进去的是intance

Connection con=instance
con=null
但intance不为空

哎,悲剧,估计又要挨骂了


正解,
java也没有多少难点,恭喜你突破了一个
0 请登录后投票
   发表时间:2011-05-16  
kakaluyi 写道
悲剧了 写道
kakaluyi 写道
悲剧了 写道
gaosheng08 写道
close()中还要加一句instance = null;


调用的时候传进来的就是instance ,这个connection是通过这个类的getConnection()得到的

lz你难道不知道java通过close方法传递进去的instance只是个引用吗,真正的instance是不会置为null的??





哥们我明白了

con,intance 两个引用指向同一个栈,con为空但intance不为空,开始是以为传进去的是intance

Connection con=instance
con=null
但intance不为空

哎,悲剧,估计又要挨骂了


正解,
java也没有多少难点,恭喜你突破了一个


哈哈,谢了。
0 请登录后投票
   发表时间:2011-05-16  
楼主JAVA基础不牢固,导致代码出现问题。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics