zoukankan      html  css  js  c++  java
  • JavaWeb_(设计模式)单例模式

      菜鸟教程  传送门

      

      单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

      这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

    注意:

    • 1、单例类只能有一个实例。
    • 2、单例类必须自己创建自己的唯一实例。
    • 3、单例类必须给所有其他对象提供这一实例。

     实例:

      用到两个类JDBCUtil.java(单例类)和JDBCUtil_use.java

      无需在JDBCUtil_use.java中实例出JDBCUtil对象

      JDBCUtil_use.java通过JDBCUtil.instance去使用单例类中公有方法

     

    package Gary03;
    
    public class JDBCUtil {
    
        //设置成单例模式 只在JDBCUtil中new一次    在其他地方不需要再动态申请
        public static JDBCUtil instance = new JDBCUtil();
        
        //构造方法私有化,
        private JDBCUtil() {
            
        }
        
        public void GetConnection() {
            System.out.println("GetConnection()");
        }
        
        
    //    public static void main(String[] args) {
    //        JDBCUtil.instance.GetConnection();
    //        
    //        //JDBCUtil util= new JDBCUtil();
    //        //util.GetConnection();
    //        
    //    }
        
    }
    JDBCUtil.java
    package Gary03;
    
    import Gary03.JDBCUtil;
    
    public class JDBCUtil_use {
        public static void main(String[] args) {
            
            //JDBCUtil jdbc = new JDBCUtil();
            //直接通过JDBCUtil.instance去访问GetConnection()方法
            JDBCUtil.instance.GetConnection();
        }
    }
    JDBCUtil_user.java

      程序结构

      

      设置成单例模式后为节约性能只在JDBCUtil中new一次 在其他地方不需要再动态申请

      为防止在其他地方类似如下通过new实例化

    JDBCUtil jdbc = new JDBCUtil();

      可将JDBCUtil.java中将构造方法私有化,外部将无法new JDBCUtil()

        private JDBCUtil() {
            
        }

      单例模式要设置成static静态,JDBCUtil_use.java外部访问JDBCUtil.java中的GetConnection方法可通过instance来访问

    public class JDBCUtil {
    
        //设置成单例模式 只在JDBCUtil中new一次    在其他地方不需要再动态申请
        public static JDBCUtil instance = new JDBCUtil();
        
        //构造方法私有化,
        private JDBCUtil() {
            
        }
        
        public void GetConnection() {
            System.out.println("GetConnection()");
        }
        
    }
    public class JDBCUtil_use {
        public static void main(String[] args) {
            
            //JDBCUtil jdbc = new JDBCUtil();
            //直接通过JDBCUtil.instance去访问GetConnection()方法
            JDBCUtil.instance.GetConnection();
        }
    }
    (如需转载学习,请标明出处)
  • 相关阅读:
    Linux系统启动流程
    linux系统目录介绍
    Nginx 安装配置教程
    深入理解linux系统的目录结构
    Mac 下安装Ruby环境(转)
    Android逆向之旅---SO(ELF)文件格式详解(转)
    TAG-9F10 发卡行相关数据(转)
    公钥,私钥,数字证书,签名,加密,认证,的概念区分(转)
    PBOC~PPT-补充内容B(转)
    PBOC~PPT-补充A(转)
  • 原文地址:https://www.cnblogs.com/1138720556Gary/p/10303158.html
Copyright © 2011-2022 走看看