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;
	  }
}
原文:http://www.cnblogs.com/chenjun08/p/6795037.html