单例模式,是一种常用的软件设计模式,通过单例模式,可以保证系统中,应用该模式的这个类只有一个实例,就是说,一个类只有一个对象实例。
单例模式的实现步骤大致分为以下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