关闭

单例模式里的两种

90人阅读 评论(0) 收藏 举报
<span style="font-size: 18px;">
</span>
<span style="font-size: 18px;">所谓“懒汉式”与“饿汉式”的区别,是在与建立单例对象的时间的不同。
“懒汉式”是在你真正用到的时候才去建这个单例对象:
比如:有个单例对象
public class Singleton{ 
    private Singleton(){}
    private static Singleton singleton = null;  //不建立对象
    public static synchronized Singleton getInstance(){
             if(singleton == null) {        //先判断是否为空                </span><pre id="best-answer-content" class="reply-text mb10" name="code" style="font-size: 14px; white-space: pre-wrap; word-wrap: break-word;"><span style="font-size: 18px;">                 singleton = new Singleton ();  //懒汉式做法 
             }
             return singleton ;
     }
</span>
}
 “饿汉式”是在不管你用的用不上,一开始就建立这个单例对象:比如:有个单例对象
<span style="font-size: 18px;">public class Singleton{ 
    public Singleton(){}
    private static Singleton singleton = new Singleton();  //建立对象
</span><pre id="best-answer-content" class="reply-text mb10" name="code" style="white-space: pre-wrap; word-wrap: break-word;"><span style="font-size: 18px;">    public static Singleton getInstance(){
</span>
 return singleton ;//直接返回单例对象 }}

它有以下几个要素:

  • 私有的构造方法
  • 指向自己实例的私有静态引用
  • 以自己实例为返回值的静态的公有的方法

   
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4817次
    • 积分:393
    • 等级:
    • 排名:千里之外
    • 原创:35篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章分类