写点什么

单例模式

作者:卢卡多多
  • 2021 年 12 月 07 日
  • 本文字数:1048 字

    阅读完需:约 3 分钟

单例模式

单例模式的本质

单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建

单例对象的创建

单例模式;要求此系统中有且只有一个实例对象;


  • 1.确定是饿汉式还是懒汉式,然后创建一个静态的私有变量

  • 2.构造器私有化

  • 3.外部访问对象,要从我们自己构造好的私有对象返回

单例模式的分类

  • 懒汉式

  • 饿汉式


确定是哪种分类的,可以利用的是当前的静态的私有变量展示,


确定是饿汉式还是懒汉式,然后创建一个静态的私有变量


懒汉式懒汉式时间换空间

private static Person Instance;

饿汉式直接创建


饿汉式,不让变动

private static final Person Instanc=new Peson();

单例模式的步骤

  1. 确定是饿汉式还是懒汉式,然后创建一个静态的私有变量

  2. 构造器私有化

  3. 外部访问对象,要从我们自己构造好的私有对象返回

单例的例子

代码实现:



/** * @author lucas * @create 2021-12-07 15:01 * @description 单例模式的实体类 */public class Person {

private String name;
private Integer age; /** * 单例模式;要求此系统中有且只有一个实例对象; * * 1.确定是饿汉式还是懒汉式,然后创建一个静态的私有变量 * 2.构造器私有化 * 3.外部访问对象,要从我们自己构造好的私有对象返回 * */

/** * 1.确定是饿汉式还是懒汉式,然后创建一个静态的私有变量 * private static final Person Instanc=new Peson(); 饿汉式,不让变动 */ private static Person Instance; //懒汉式时间换空间


/** * 2.构造器私有化 */ private Person (){ System.out.println("需要创建一个对象person"); }
/**3.外部访问 * 公共的静态方法-->利用静态存储方法区, * 建立一个静态的空对象,如果需要就一直存在,直至程序完结 * @return */ public static Person getPerson(){ //多线程情况下不安全 if (Instance==null){ Person person=new Person(); Instance=person; } return Instance; }
public static void main(String[] args) { //静态的公共获取方法--对象都一样 Person person1 = Person.getPerson(); Person person2 = Person.getPerson();
System.out.println(person1==person2); }}
复制代码


发布于: 1 小时前阅读数: 5
用户头像

卢卡多多

关注

努力寻找生活答案的旅途者 2020.04.12 加入

公众号:卢卡多多,欢迎一起交流学习

评论

发布
暂无评论
单例模式