设计模式-单例 Singleton

本文详细介绍了单例模式的构成要素,包括只有一个实例、私有构造方法及提供公共静态访问方法。并通过三种不同实现方式(饿汉模式、两种懒汉模式)进行深入探讨。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、构成单例模式要点:

①、只有一个实例

②、私有的构造方法

③、向外界提供访问该实例的公共的静态方法

 

二、分类:

①、饿汉模式

class SingletonOne {

 private SingletonOne() {
 }

 private static SingletonOne st = new SingletonOne();

 public static SingletonOne getST() {
  return st;
 }
}

②、懒汉模式1

class SingletonTwo {
 private SingletonTwo() {
 }

 private static SingletonTwo st = null;

 public synchronized static SingletonTwo getST() {
  if (st == null)
   st = new SingletonTwo();
  return st;
 }
}

③、懒汉模式2

class SingletonThr {
 static class creatSingleton {
  static SingletonThr st = new SingletonThr();
 }

 public static SingletonThr getST() {
  return SingletonThr.creatSingleton.st;
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值