yangzi:
定义为静态变量,可是我在哪里给它赋值呢?
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
m_conn = DriverManager.getConnection(m_strURL, m_strUserName, m_strPassword);
stmt = m_conn.createStatement();
我应该写在哪里?
定义为静态变量,可是我在哪里给它赋值呢?
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
m_conn = DriverManager.getConnection(m_strURL, m_strUserName, m_strPassword);
stmt = m_conn.createStatement();
我应该写在哪里?
2.构造函数中
例子如下:public class SingleStatement {
private Statement stmt = null;
private static SingleStatement ssptr = new SingleStatement(); private SingleStatement() {} // 注意,构造函数一定要是private public Statement getStatement() { return stmt; } public void setStatement(Statement st) { stmt = st; } public static SingleStatement getInstance() { return ssptr; }
}使用例子:
public class UseSingleton {
public static void main(String[] args) {
SingleStatement s = SingleStatement.getInstance();
........
s.setStatement(yourstatment); // 设置全局的Statement
......... SingleStatement s1 = SingleStatement.getInstance(); // 实际上这里得到的是同一个SingleStatement 对象
Statement st = s.getStatement(); // 这里得到的Statement 就是最开始设置的Statement
...........
}
}