首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2ME开发 >

java对象引用,值传递,一个困惑了很久的有关问题,请高手指导

2012-03-21 
java对象引用,值传递,一个困惑了很久的问题,请高手指导!写了两个类第一个public class testMain{public st

java对象引用,值传递,一个困惑了很久的问题,请高手指导!
写了两个类
第一个
public class testMain
{
public static void main(String args[])
{
dataLianJie dlj = new dataLianJie();
System.out.println("结果"+dlj.lianjie()+dlj.conn);
}
}
第二个
import java.sql.*;
public class dataLianJie 
{
Connection conn;

String DatabaseName = "model";  
String User = "sa";
String password = "";
String url ="jdbc:microsoft:sqlserver://localhost:1433;+DatabaseName="+DatabaseName+";User="+User+";password="+password;
public Connection lianjie()
{
try 
{  
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");  
System.out.println("数据库驱动程序注册成功");  
Connection conn = DriverManager.getConnection(url);
System.out.println("成功连接数据库"+conn);  

}  
catch (Exception e) 
{  
System.out.println("数据库连接失败");  
e.printStackTrace();  
}
return conn;
}

}
运行结果为:数据库驱动程序注册成功
  成功连接数据库com.microsoft.jdbc.sqlserver.SQLServerConnection@665753
  结果nullnull

奇怪啊,为什么这个位置为空啊想不通啊。我用dataLianJie的对象调用方法,这里到底为什么不行啊。请高手指导



[解决办法]
这个也是属于初级错误啊,你看看你怎么写的?

Connection conn = DriverManager.getConnection(url);

这不就已经重新定义了一个局部变量了?那你那个类属性必然是没有得到值啊!请修改为:

conn = DriverManager.getConnection(url); // 去掉前面的Connection

热点排行