首页 > 代码库 > java设计模式--单例设计模式

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

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设计模式--单例设计模式