java基础之设计模式之单例模式

本文介绍了单例模式的基本概念及其实现方式。通过两个类Time与Time1对比展示了正确的单例模式实现方法及其重要性。正确实现的单例模式确保了类在应用程序中只有一个实例,并且该实例易于访问。

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


class Time{  
 //单例特点:(Runtime就是一个单例类 )
 //(1)类的构造方法是私有的,从而避免了外部利用构造方法创建多个实例
 //(2)一个类只有一个实例,且自行实例化,并向整个系统提供这个实例。
 
 public static Time t = new Time(); //因为是static修饰,所以所有类共用这一个Time对象
 private Time(){}
 public static Time getInstance(){
  return t;
 }
}

class Time1{
 public static Time1 t = new Time1();
 private Time1(){}
 public static Time1 getInstance(){
  return new Time1(); //注意这里是返回的new Time1();
       //也就是说是每调用这个方法就会创建一个新的Time1对象。所以返回值必须为static值 t
 }
}

public class Singleton { 
 public static void main(String[] args){
  //Time为单例模式 ,所以 两个方法打印的地址值是一样的。
  System.out.println(Time.getInstance());
  System.out.println(Time.t);
  
  System.out.println("----------------------------------");
  
  Time1 t1 = Time1.getInstance();
  System.out.println(t1);
  Time1 t2 = Time1.getInstance();
  System.out.println(t2);
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值