单例模式

本文介绍了单例模式的概念及其两种实现方式——饿汉式和懒汉式。饿汉式在类加载时就创建实例,而懒汉式则在首次调用时创建。通过示例代码展示了如何确保一个类只有一个实例,并在整个系统中使用该实例。

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

/**
 *
 * @author ALbert
 * @category 单例模式
 *
 */
/**
 * 单例模式:能确保一个类只有一个实例,自行提供这个实例,并向整个系统提供这个实例;
 * 特点:1.一个类只能有一个实例,
 *   2.自己创建这个实例,
 *   3.整个系统都要使用这个实例;
 * 优点:1.可以避免实例重复创建,
 *   2.可以避免存在多个实例,引起的程序逻辑错误,
 *   3.节约内存。
 */
 /**
  *
  * @author 苏雨航
  *@category 饿汉式
  */
 class Single{
  private static Single single=new Single();
  private String name;
  public static Single getSingle(){
   return single;
  }
  private Single(){
   
  }
  
 }
 
 /**
  *
  * @author 苏雨航
  *@category 懒汉式
  */
 class Singleton{
  private static Singleton singleton=null;
  private Singleton(){
   
  }
  public static Singleton getSingleton(){
   if(singleton!=null){
    singleton=new Singleton();
   }
   return singleton;
  } 
  
 }
 /**
  *
  * @author 苏雨航
  *@category 测试类
  */
public class Test{
 public static void main(String[] args) {
  Single s1=Single.getSingle();
  Single s2=Single.getSingle();
  if(s1==s2){
   System.out.println("s1==s2");
  }
  
  Singleton sl1=Singleton.getSingleton();
  Singleton sl2=Singleton.getSingleton();
  if(sl1==sl2){
   System.out.println("sl1和sl2是同一个实例");
  }
 }
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值