设计模式之单例模式

来源:互联网 发布:自由职业贷款软件 编辑:程序博客网 时间:2024/06/08 10:41

设计模式

1.概述

  设计模式其实就是前人解决问题所总结(所使用)的方法。被后人所整理的一些方法。

2.单例设计模式

A.概述

   所谓单例是指一个类只能实例化一个对象。

B.实现方式

   1.定义私有静态成员变量(变量类型与当前自定义类型相一致)   2.私有化构造函数(避免直接实例化对象)   3.公共静态方法(用于返回示例对象)

C.实现方式

   1.懒汉式   2.饿汉式

3.代码实现

懒汉模式class SingleClass{    //懒汉式    //懒汉式不直接进行实例化,实例化操作在静态方法中进行    //缺点:在静态方法中需要进行判断(造成一定的时间上的消耗)    //适用:类的使用不频繁,具体实例化时间不确定的情况    private static SingleClass instance = null;    //定义私有的构造函数(避免直接调用构造函数实例化对象)    private SingleClass() {        System.out.println("构造函数被调用,Date:" + new Date().toLocaleString());    }    //提供公共的静态方法用于实例化对象    public static SingleClass createInstance(){        //判断当前对象是否为null        //(如果为null则实例化对象,否则直接返回instance变量)        if(instance == null)            instance = new SingleClass();                   return instance;    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
饿汉模式class SingleClass{    //定义静态成员变量用于存储当前类型的实例    //饿汉式    //饿汉式直接进行对象的实例化    //缺点:直接实例化会造成资源浪费    //适用:类的使用较为频繁的情况    private static SingleClass instance=new SingleClass();    //定义私有的构造函数(避免直接调用构造函数实例化对象)    private SingleClass() {        System.out.println("构造函数被调用,Date:" + new  Date().toLocaleString());    }    //提供公共的静态方法用于实例化对象    public static SingleClass createInstance(){             return instance;    }

}原文出处:http://blog.csdn.net/speed_pig/article/details/53432519

0 0
原创粉丝点击