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

java设计模式--单例设计模式

时间:2017-05-02 12:03:38      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:lazy   单例设计模式   设计   判断语句   自己   turn   否则   tin   面试   

java中共有21种设计模式,其中面试中常问的是单例设计模式;

单例设计模式有两种常用的方式:1.懒汉式:1)先私有化构造函数,让此类不能被实例化;(private 类名(){});2)在类中自己实例化一个空的对象;(private static 类名  对象名=null;);3)构造一个方法,返回本类的对象;在中间增加一个判断语句,如果进来的对象是个空值,就new一个实例化,否则直接返回此对象;

例如:

/**
* 懒汉式
* @author chenjun
*2017-5-2上午9:16:05
*/
public class LazysingleClass {
  private LazysingleClass(){};
  private static LazysingleClass lsc=null;
/**
* 同步代码块 防止多线程过来发生空指针异常
* @return
*/
  public synchronized static LazysingleClass getLazysingleClass(){
    if (lsc==null) {
      lsc= new LazysingleClass();
    }
    return lsc;
}

2.饿汉式:与上述类似,直接写代码了:

/**
* 饿汉式
* @author chenjun
*2017-5-2上午8:46:13
*/
public class singleClass {
//构造方法私有化,不能被new实例化
  private singleClass(){};
//返回一个本类对象
  private static final singleClass s=new singleClass();
  public static singleClass getInstance(){
  return s;
  }
}

java设计模式--单例设计模式

标签:lazy   单例设计模式   设计   判断语句   自己   turn   否则   tin   面试   

原文地址:http://www.cnblogs.com/chenjun08/p/6795037.html

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