什么是单例模式:
单例模式是一个类只有一个实例,并为整个系统提供一个全局的访问点。(全局中该类只有一个实例)
为什么使用单例模式:
为了避免不一致的状态。
单例模式的几种实现:
/** * 方法调用前,实例就已经创建好 */
public class Singletion01 { private static Singletion01 singletion01 = new Singletion01(); private Singletion01(){} public static Singletion01 getInstence(){ return singletion01; } }
/** * 方法调用时创建实例 */ public class Singletion02 { private static Singletion02 singletion02; private Singletion02(){} public static Singletion02 getInstence() { if(singletion02 == null){ singletion02 = new Singletion02(); } return singletion02; } }
/** * 静态内置类实现单例 */ public class Singletion03 { private static class InnerSingletion{ private static Singletion03 singletion03 = new Singletion03(); } private Singletion03(){} public static Singletion03 getInstence(){ return InnerSingletion.singletion03; }}