单例类

原创 2015年07月09日 21:51:21

下面来看单例模式的结构图

image

从上面的类图中可以看出,在单例类中有一个构造函数 Singleton ,

但是这个构造函数却是私有的(前面是“ - ”符号),

然后在里面还公开了一个 GetInstance()方法,

通过上面的类图不难看出单例模式的特点,从而也可以给出单例模式的定义

单例模式保证一个类仅有一个实例,同时这个类还必须提供一个访问该类的全局访问点。

public class Singleton 
    { 
        //定义一个私有的静态全局变量来保存该类的唯一实例 
        private static Singleton singleton;

        /// <summary> 
        /// 构造函数必须是私有的 
        /// 这样在外部便无法使用 new 来创建该类的实例 
        /// </summary>
 
        private Singleton() 
        { 
        }

       /// <summary> 
        /// 定义一个全局访问点 
        /// 设置为静态方法 
        /// 则在类的外部便无需实例化就可以调用该方法 
        /// </summary> 
        /// <returns></returns>
 
        public static Singleton GetInstance() 
        { 
         
   //这里可以保证只实例化一次 
            //即在第一次调用时实例化 
            //以后调用便不会再实例化
 
            if (singleton == null
            { 
                singleton = new Singleton(); 
            } 
            return singleton; 
        } 
    } 


版权声明:本文为博主原创文章,未经博主允许不得转载。

单例模式的各种写法和总结 懒汉式 饿汉式 登记式

public class Singleton {//懒汉式单例类 /** 懒汉式单例类。 只在外部对象第一次请求实例的时候才会去创建 优点:第一次调用时才会初始化,避免内存浪费。 缺点:必须加锁s...
  • qq_36290329
  • qq_36290329
  • 2016年10月02日 22:02
  • 427

单例类与半单例类

在设计模式中有一个“单例模式”,对应的我们常常会设计“单例类”(或称单件类)。但在实际应用中,我们常常也需要使用“半单例”。下面我们具体谈谈单例和半单例,以及他们的用法和区别。 单例模式 ...
  • majiakun1
  • majiakun1
  • 2013年05月20日 22:23
  • 466

用Java写一个单例类。

- 饿汉式单例 1 2 3 4 5 6 7 public class Singleton {     private Singleton()...
  • Leolu007
  • Leolu007
  • 2017年03月24日 15:35
  • 975

单例类

如果一个类始终只能创建一个实例,则这个类被称为单例类。 public class Singleton { private static Singleton instance;//使用一个变量缓...
  • u011938863
  • u011938863
  • 2013年10月21日 09:05
  • 339

单例类。

public class StringTableManager { static StringTableManager mInstance; static public String...
  • AngleSina
  • AngleSina
  • 2014年09月15日 11:05
  • 172

Swift中网络单例类封装

// 网络请求方式枚举(case 首字母大写) enum SHNetworkToolsType: String {     case GET = "GET"   ...
  • LQC0313
  • LQC0313
  • 2016年08月06日 10:18
  • 173

建立一个单例的类

public class SendEmailManager     {         public static readonly SendEmailManager instance = new...
  • limlimlim
  • limlimlim
  • 2013年12月05日 16:25
  • 606

Android设计模式(一)-单例模式

最近在看《Android源码设计模式解析与实战》这本书,发现里面还有对源码的一些分析,之前也没好好看过设计模式,就来做个笔记,跟着看一下。定义确保某一个类只有一个实例,而且自行实例化并向整个系统提供这...
  • qq_25806863
  • qq_25806863
  • 2017年03月26日 01:31
  • 531

设计模式笔记—单例模式

单例模式定义:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。使用场景     确保某一个类有且只有一个对象的场景,避免产生多个对象,消耗过多的资源,或者某一种类型的对象只应该有且只...
  • ljt2724960661
  • ljt2724960661
  • 2016年02月14日 20:23
  • 539

实现单例的三种方式

单例---懒汉模式   /*1):必须在该类中,自己先创建出一个对象并私有化对象.  *2):私有化自身的构造器,防止外界通过构造器创建新的对象.  *3):想外暴露一个公共的静态方法用于获取自身的对...
  • SimpleSimpleSimples
  • SimpleSimpleSimples
  • 2017年01月01日 00:17
  • 122
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:单例类
举报原因:
原因补充:

(最多只允许输入30个字)