Singleton指的是仅仅被实例化一次的类,比如唯一的系统组件等,成为Singleton的类测试起来也比较困难。

常用的方法:

1.公有静态final域+私有构造器

public class Egg{
    public static final Egg INSTANCE=new Egg();
    private Egg(){}

}

 

2.私有静态final域,私有构造器+公有静态方法

public class Egg{
    private static final Egg INSTANCE=new Egg();
    private Egg(){}
    public static Egg getInstance(){return INSTANCE;}
}

 

3.Java 1.5以后,添加新方法:Enum

public enum Egg{
    INSTANCE;
    public void ......{}
}

 

Enum方法与共有域接近,但更简洁,关键是提供了序列化机制,绝对防止了多次实例化,但是,还没广泛采用........

相关文章:

  • 2022-01-27
  • 2021-05-25
  • 2021-10-17
  • 2021-07-03
  • 2022-01-21
  • 2021-12-09
猜你喜欢
  • 2021-07-09
  • 2021-08-12
  • 2021-09-11
  • 2021-12-16
  • 2021-10-02
  • 2021-11-27
  • 2022-02-13
相关资源
相似解决方案