单例设计模式

单例设计模式:

设计模式:

​ 一个问题通常有n种解法,其中肯定有一种解法是最优的,这个最优的解法被人总结出来了,称之为设计模式

​ 设计模式有23种,对应23种软件开发中会遇到的经典问题。

单例设计模式:确保一个类只有一个对象。

 
 

饿汉式单例:

饿汉式单例:拿对象时,对象早就创建好了。

饿汉式单例步骤:

1.构造器私有, 目的就是不让别人创建对象。

2.使用成员变量保存自己创建的单例对象。

3.提供方法返回单例对象给别人使用。

package com.ouyang.demo04;

//音乐播放器(单例),作用:让一个类只能创建一个对象
public class AudioPlayer {

    //1.构造器私有,目的就是不让别人创建对象
    private AudioPlayer(){

    }

    //2.使用成员变量保存自己创建的单例对象(类加载的时候就创建对象)
    //private保证别人不能修改该实例
    //static保证只有一份实例
    private static AudioPlayer instance=new AudioPlayer();

    //3.提供方法返回单例对象给别人使用
    //static 保证别人不需要创建对象,直接使用类名来调用该方法
    public static AudioPlayer getInstance(){
        return instance;
    }
}

 
 

懒汉式单例:

懒汉式单例:拿对象时,才开始创建对象。

package com.ouyang.demo04;

//视频播放器
public class VideoPlayer {
    //1.构造器私有
    private VideoPlayer(){

    }

    //2.使用静态变量保存单例对象
    private static VideoPlayer instance;//null

    //3.提供静态方法返回对象给别人使用
    // 懒汉式单例,拿对象使用时,才创建对象(晚)

    public static VideoPlayer getInstance(){
        //第一次调用这个方法会发现对象==nuLL,就会创建对象,后面这个对象就有值了,不再创建了
        if(instance==null){
            instance=new VideoPlayer();
        }
        return instance;
    }
}

相关推荐

  1. 设计模式

    2024-07-19 09:16:04       59 阅读
  2. 设计模式

    2024-07-19 09:16:04       37 阅读
  3. 设计模式

    2024-07-19 09:16:04       37 阅读
  4. 设计模式

    2024-07-19 09:16:04       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 09:16:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 09:16:04       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 09:16:04       58 阅读
  4. Python语言-面向对象

    2024-07-19 09:16:04       69 阅读

热门阅读

  1. 系统架构师(每日一练4)

    2024-07-19 09:16:04       22 阅读
  2. PTA - 首字母大写(python编程300例)

    2024-07-19 09:16:04       23 阅读
  3. Pandas库学习之DataFrame.drop()函数

    2024-07-19 09:16:04       22 阅读
  4. Kotlin 协程简化回调

    2024-07-19 09:16:04       22 阅读
  5. YOLOv8_ ByteTrack目标跟踪、模型部署

    2024-07-19 09:16:04       23 阅读
  6. Git 和 Subversion (SVN)的全方面对比

    2024-07-19 09:16:04       21 阅读
  7. 使用 com.alibaba:easyexcel 导出excel文件时遇到的问题

    2024-07-19 09:16:04       23 阅读