单例模式
设计模式中最简单的模式,也是Android系统中最常见的模式之一;
1. 饿汉式写法
public class SingleInstance { private SingleInstance(){} private static final SingleInstance instance = new SingleInstance(); public static SingleInstance getInstance(){ return instance; } }
2. 懒汉式写法:
public class SingleInstance2 { private SingleInstance2(){} private static volatile SingleInstance2 instance= null; public static SingleInstance2 getInstance(){ if(instance == null){ synchronized (SingleInstance2.class){ if(instance == null){ instance = new SingleInstance2(); } } } return instance; } }
3. Java Effective中推荐了一种写法
public enum SingleInstance3 { instance; public void print(){ System.out.println("this is a singleInstance!"); } }
比较推荐第3种写法,即高效又简洁;