• 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启动新进程的几种方法及比较[转]
    部署WEB应用的三种方式[转]
    HTML form label
    其他对象的表单
    Input对象2(貌似是独立标签)
    通过表单展示不一样的页面(input对象)
    神奇的表单
    有效地管理页面布局
    css新奇技术及其未来发展
    进一步讨论页面布局的方法
  • 原文地址:https://www.cnblogs.com/1138720556Gary/p/10303158.html
Copyright © 2020-2023  润新知