zoukankan      html  css  js  c++  java
  • 【JAVA基础】单例模式的设计

    1. 单例设计模式的概念

      在某些特殊场合中,一个类对外提供且只提供一个对象时,这样的类叫做单例类,而设计单例的流程和思想叫做单例设计模式。

     

    2. 单例设计模式的实现流程

    2.1. 私有化构造方法,使用private关键字修饰。

    2.2. 声明本类类型的引用指向本类类型的对象,并使用private static关键字共同修饰。

    2.3. 提供公有的get方法负责将对象返回出去,并使用public static关键字共同修饰。

     

    3. 单例设计模式的实现方式

      单例设计模式的实现方式有两种:饿汉式 和 懒汉式,在以后的开发中推荐饿汉式。

     1 /*
     2     编程实现Singleton类的封装
     3  */
     4 public class Singleton {
     5     
     6     // 2.声明本类类型的引用指向本类类型的对象,使用private static关键字共同修饰
     7     //private static Singleton sin = new Singleton();  // 饿汉式
     8     private static Singleton sin = null;               // 懒汉式
     9     
    10     // 1.私有化构造方法,使用private关键字修饰
    11     private Singleton() {}
    12     
    13     // 3.提供公有的get方法负责将对象返回出去,使用public static关键字共同修饰
    14     public static Singleton getInstance() {
    15         //return sin;
    16         if(null == sin) {
    17             sin = new Singleton();
    18         }
    19         return sin;
    20     }
    21 }
     1 /*
     2     编程实现Singleton类的测试
     3  */
     4 public class SingletonTest {
     5     
     6     public static void main(String[] args) {
     7         
     8         // 1.声明Singleton类型的引用指向该类型的对象
     9         //Singleton s1 = new Singleton();
    10         //Singleton s2 = new Singleton();
    11         //System.out.println(s1 == s2); // 比较变量s1的数值是否与变量s2的数值相等  false
    12         //Singleton.sin = null;  可以使得引用变量无效
    13         Singleton s1 = Singleton.getInstance();
    14         Singleton s2 = Singleton.getInstance();
    15         System.out.println(s1 == s2); // true
    16     }
    17 }
  • 相关阅读:
    html5数字和颜色输入框
    WinForm设置右键菜单
    设置窗体透明C#代码
    C#调用windows api示例
    使用VS GDB扩充套件在VS上远端侦错Linux上的C/C++程序
    javascript系统时间测试题
    博客园学习的好地方
    基于jQuery的自适应图片左右切换
    HTML+CSS代码橙色导航菜单
    ASP.NET使用UpdatePanel实现AJAX
  • 原文地址:https://www.cnblogs.com/Tree0108/p/14106358.html
Copyright © 2011-2022 走看看