首页 > 其他 > 详细

设计模式之单例、多例模式

时间:2015-09-28 01:24:19      阅读:204      评论:0      收藏:0      [点我收藏+]

单例

饱汉模式

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

饥汉模式

public class Singleton {
    private static Singleton instance = null;
    
    private Singleton() {}
    
    public synchronized static Singleton getInstance() {
        if(instance == null)
            instance = new Singleton();
        return instance;
    }
}

枚举

public enum Singleton {
    INSTANCE();
    
    private Singleton() {}
    
    public void method() {
        // do something
    }
}

 

多例

public class Multiton {
    private static Multiton instance1 = new Multiton();
    private static Multiton instance2 = new Multiton();
    
    private Multiton() {}
    
    public static Multiton getInstance(int key) {
       if(key == 1) {
           return instance1;
       } else {
           return instance2;
       }
    }
}

设计模式之单例、多例模式

原文:http://www.cnblogs.com/wangj1130/p/4843150.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!