码迷,mamicode.com
首页 > 编程语言 > 详细

JavaWeb_简单单例模式

时间:2019-01-22 13:19:04      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:color   []   cti   main   rgs   alt   on()   etc   实例化   

 

 

  菜鸟教程  传送门

  

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

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

注意:

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

 

 技术分享图片

技术分享图片
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();
    }
}

 

JavaWeb_简单单例模式

标签:color   []   cti   main   rgs   alt   on()   etc   实例化   

原文地址:https://www.cnblogs.com/1138720556Gary/p/10303158.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!