單例模式的特點:解決了一個類在內存的唯一性,這個類的對象只有一個。
寫單例模式的步驟:
1. 私有修飾構造方法
2. 在本類的成員位置, new 自己類的對象
3. 提供一個靜態方法,返回本類的對象
A: 惡漢式
package demo01; /** * 單例設計模式惡漢式 * @author Administrator * */ public class SingleDesignModel1 { //私有構造方法 private SingleDesignModel1(){ } //在自己的成員變量的位置,new 自己 private static final SingleDesignModel1 singleDesignModel1=new SingleDesignModel1(); //提供一個靜態方法,返回一個本類對象 public static SingleDesignModel1 getInstance(){ return singleDesignModel1; } }
package demo01; /** * 單例模式的懶漢式 * @author Administrator * */ public class SingleDesignModel2 { private static SingleDesignModel2 singleDesignModel2=null; private SingleDesignModel2(){ } public static SingleDesignModel2 getInstance(){ if(singleDesignModel2==null){ singleDesignModel2=new SingleDesignModel2(); } return singleDesignModel2; } }