Java 单例模式

Java设计模式 - 单例模式

单例模式是一种创建模式。

这种模式只涉及一个单独的类,它负责创建自己的对象。

该类确保只创建单个对象。

这个类提供了一种访问其唯一对象的方法。

例如,当设计一个用户界面时,我们可能只有一个主应用程序窗口。我们可以使用Singleton模式来确保只有一个MainApplicationWindow对象的实例。

例子

下面的代码将创建一个MainWindow类。

MainWindow类的构造函数是私有的,并且有一个自身的静态实例。

MainWindow类提供了一个静态方法来获取它的静态实例到外部世界。

Main,我们的演示类将使用MainWindow类来获取一个MainWindow对象。

复制代码
class MainWindow {
   //create an object of MainWindow
   private static MainWindow instance = new MainWindow();

   //make the constructor private so that this class cannot be
   //instantiated by other class
   private MainWindow(){}

   //Get the only object available
   public static MainWindow getInstance(){
      return instance;
   }

   public void showMessage(){
      System.out.println("Hello World!");
   }
}

public class Main {
   public static void main(String[] args) {
      //Get the only object available
      MainWindow object = MainWindow.getInstance();

      //show the message
      object.showMessage();
   }
}

上面的代码生成以下结果。

相关推荐
苍煜16 分钟前
慢SQL优化实战教学
java·数据库·sql
MATLAB代码顾问18 分钟前
改进遗传算法(IGA)求解作业车间调度问题(JSSP)——附MATLAB代码
开发语言·matlab
AI进化营-智能译站19 分钟前
ROS2 C++开发系列16-智能指针管理传感器句柄|告别ROS2节点内存泄漏与野指针
java·c++·算法·ai
syker36 分钟前
AIFerric深度学习框架:自研全栈AI基础设施的技术全景
开发语言·c++
HSunR1 小时前
dify 搭建ai作业批改流
开发语言·前端·javascript
代码不加糖1 小时前
2026 跨境电商独立站实战:从 0 到 1 搭建高转化 SaaS 商城(附源码)
开发语言·前端·javascript
TeDi TIVE1 小时前
springboot和springframework版本依赖关系
java·spring boot·后端
二哈赛车手1 小时前
新人笔记---ES和kibana启动问题以及一些常用的linux的错误排查方法,以及ES,数据库泄密解决方案[超详细]
java·linux·数据库·spring boot·笔记·elasticsearch
时空系1 小时前
第9篇:成员功能——为结构体添加能力 Rust中文编程
开发语言·网络·rust
嵌入式×边缘AI:打怪升级日志1 小时前
嵌入式Linux开发核心自测题(全系列精华浓缩)
java·linux·运维