当前位置: 技术问答>java相关
Java中有没有类似于全局变量这样的东西?具体问题见内容:
来源: 互联网 发布时间:2015-01-09
本文导语: 我在用Java和Oracle数据库连接时,想只生成一个Statement,然后在整个程序的其他部分,都用它来访问数据库,不知怎么做到? | 了解一下什么叫 Singleton模式,是解决你这种问题的最佳方案。 例子如下...
我在用Java和Oracle数据库连接时,想只生成一个Statement,然后在整个程序的其他部分,都用它来访问数据库,不知怎么做到?
|
了解一下什么叫 Singleton模式,是解决你这种问题的最佳方案。
例子如下:
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
...........
}
}
例子如下:
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
...........
}
}