单例模式,是一种常用的软件设计模式,通过单例模式,可以保证系统中,应用该模式的这个类只有一个实例,就是说,一个类只有一个对象实例。
单例模式的实现步骤大致分为以下3步
根据实例化对象的时机,单例设计模式又分为以下2种
饿汉单例设计模式就是使用类的时候已经将对象创建完毕,不管以后会不会使用到该实例对象,先创建了再说。
比如这里定义一个皇帝类
public class King { // 构造方法私有化 private King() { } // 当前类内部实例化一个本类对象 private static final King king = new King(); // 直接初始化(不考虑是否使用) // 对外提供一个静态方法:让外部可以获取到King的实例对象 public static King getInstance(){ return king; } }
在测试类中进行测试
public class TestSing { @Test public void test01(){ King k1 = King.getInstance(); System.out.println(k1); // com.itheima.sh.King@2fd66ad3 King k2 = King.getInstance(); System.out.println(k2); // com.itheima.sh.King@2fd66ad3 } }
通过测试可以发现,实例化出来的k1、k2对象的地址值一致。也就是同一个对象实例。
原文:https://www.cnblogs.com/xulinjun/p/15091259.html