`

两种单例模式比较

    博客分类:
  • Java
阅读更多

 第一种:

public class Test
{
       public static final Test instance=new Test();
       private Test();
}
 

 第二种:

 

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

}

 第二种方法的主要好处在于,它提供了灵活性;在不改变API的前提下,允许我们改变想法,把该类做成singleton,或者不做成singleton,singleton的静态工厂方法返回该类的唯一实例,但是,它也很容易被修改,比如说,为每个调用该方法的线程返回一个唯一的实例。

 

总而言之,如果你确信该类将永远是一个singleton,那么使用第一种方法是有意义的。如果你希望保留一点余地,那么请使用第二种方法。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics