首页 > 代码库 > 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设计模式--单例设计模式