首先,单例(Singleton)设计模式是23中设计模式的一种,应用场景也比较广泛,这里只做一个简单了解
目标:熟悉饿汉式的实现过程,这个地方懒汉式还是有一些线程安全问题,我们学到多线程的时候再做优化
提取一下关键路径: 某个类只能存在一个对象实例-->构造器私有化,这个实例只能在类内部定义-->调用静态方法返回这个对象,这个方法必须是静态的才能被外面调用,不然外面就要声明这个类,又矛盾了-->静态的方法里面只能访问静态成员变量,所以这个类的对象也是静态的。
我们通过代码上来讲一下
首先是饿汉式:实现过程大概个4步骤:
- 创建类、
- 构造器私有化、
- 声明这个类的对象并私有化、
- 声明调用这个对象的方法并public、static修饰
- 回头把这个类的对象也static(因为static方法只能访问类中的静态成员变量)
package com.atguigu.java2;
/*
* 单例设计模式&#