1. 程式人生 > >三種簡單的單例模式小例子

三種簡單的單例模式小例子

第一種

public class SingtenDemo1 {
    private volatile static SingtenDemo1 singleton;  
    private SingtenDemo1 (){}  
    public static SingtenDemo1 getSingleton() {  
    if (singleton == null) {  
        synchronized (SingtenDemo1.class) {  
        if (singleton == null) {  
            singleton = new
SingtenDemo1(); } } } return singleton; } }

第二種

public class SingtenDemo2 {
    private static SingtenDemo2 instance = null;
    static{
        instance = new SingtenDemo2();
    }
    private SingtenDemo2(){}
    public static SingtenDemo2 getInstance(){
        return
instance; } }

第三種

public enum SingtenDemo {
    INSTANCE;
}

第三種單例模式預設支援序列化和反序列化.