相关疑难解决方法(0)

为什么在Singleton类中使用私有Constructor是强制性的

这是我获取数据库连接的单例类.

我在这里有一个问题:为什么必须在单例类中包含一个私有构造函数(在整个应用程序中我只调用一次这个类)并且可以使用静态方法实现类的一个实例?

这个私人构造函数可以避免,还是它是mantadatory?

 public class ConnPoolFactory {
        private static DataSource dataSource;
        private static Connection connection;

        private ConnPoolFactory() {
            System.out.println(" ConnPoolFactory cons is called ");
        }

        public static synchronized Connection getConnection() throws SQLException {

            try {

                if (connection == null) {
                    Context initContext = new InitialContext();
                    Context envContext = (Context) initContext
                            .lookup("java:/comp/env");
                    dataSource = (DataSource) envContext.lookup("jdbc/Naresh");
                    connection = dataSource.getConnection();
                } else {
                    return connection;
                }

            } catch (NamingException e) {
                e.printStackTrace();
            }

            return connection;

        }
    }
Run Code Online (Sandbox Code Playgroud)

java design-patterns

4
推荐指数
5
解决办法
2万
查看次数

标签 统计

design-patterns ×1

java ×1