单例模式的几种实现方式及对比

所谓单例就是在系统中只有一个该类的实例。
单例模式的核心分以下三个步骤:

构造方法私有化。即不能在类外实例化,只能在类内实例化。

在本类中创建本类的实例。

在本类中提供给外部获取实例的方式

单例模式实现方式有两种:饿汉模式和懒汉模式。

饿汉模式

不管现在需不需要,先创建实例。关键在于“饿”,饿了就要立即吃。

静态常量

这里将类的构造器私有化,就不能在外部通过new关键字创建该类的实例,然后定义了一个该类的常量,用static修饰,以便外部能够获得该类实例(通过HungryStaticConstantSingleton.INSTANCE 获得)。也可以不加final关键字,具体看自己的需求。

1 /** 2 * 恶汉模式-静态常量,简洁直观 3 */ 4 public class HungryStaticConstantSingleton{ 5 //构造器私有化 6 private HungryStaticConstantSingleton() { 7 } 8 //静态变量保存实例变量 并提供给外部实例 9 public final static HungryStaticConstantSingleton INSTANCE = new HungryStaticConstantSingleton(); 10 }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxgzd.html