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();
   }
}

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

相关推荐
2401_8414956411 分钟前
【数据结构】基于BF算法的树种病毒检测
java·数据结构·c++·python·算法·字符串·模式匹配
little_xianzhong11 分钟前
三个常听到的消息/中间件MQTT RabbitMQ Kafka
java·笔记·中间件·消息队列
论迹19 分钟前
【Spring Cloud 微服务】-- 服务拆分原则
java·spring cloud·微服务
汤姆yu23 分钟前
基于springboot的民间救援队救助系统
java·spring boot·后端·救援队
闭着眼睛学算法24 分钟前
【双机位A卷】华为OD笔试之【哈希表】双机位A-采购订单【Py/Java/C++/C/JS/Go六种语言】【欧弟算法】全网注释最详细分类最全的华子OD真题题解
java·华为od·散列表
lucky_syq31 分钟前
Scala与Spark算子:大数据处理的黄金搭档
开发语言·spark·scala
封奚泽优37 分钟前
使用Labelme进行图像标注
开发语言·python·labelme
wjs202440 分钟前
C 标准库 - <ctype.h>
开发语言
wjs202442 分钟前
AngularJS与SQL的集成使用指南
开发语言
勿忘,瞬间44 分钟前
Maven
java·maven