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

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

相关推荐
Amctwd几秒前
【JavaScript】JS 异步 Promise 解析
开发语言·前端·javascript
JAVA面经实录9178 分钟前
JVM高频面试总结(背诵完整版)
java·开发语言·jvm
ChoSeitaku12 分钟前
11.异常_throws_try...catch_BigInteger_BigDecimal_Date_Calendar_LocalDate_Integer
java
胡志辉的博客15 分钟前
完全开源、本地 SQLite 管理一切:我写了一个桌面邮件客户端 OneMail
java·sqlite·开源
沪漂阿龙18 分钟前
Java JVM 面试题详解:JVM运行原理、内存模型、堆栈方法区、GC垃圾回收、JIT编译、类加载机制与线上调优全攻略
java·开发语言·jvm
小碗羊肉21 分钟前
Maven高级
java·开发语言·maven
不知名的老吴21 分钟前
C++ 中函数对象的形式概述
开发语言·c++
星秀日28 分钟前
Spring Boot + Sa-Token 实时聊天系统:用户注册流程源码深度剖析
java·人工智能·spring·状态模式
Shan120531 分钟前
C++中函数对象之重载 operator()
开发语言·c++·算法
HelloWorld1024!40 分钟前
c++核心之万字详解 * 和 & 所有用法(指针、引用、取地址、解引用、常量修饰)
开发语言