JAVA设计模式之一(单例模式)

本文介绍了单例模式的设计原理及其实现方式,通过一个简单的Singleton类示例解释如何确保程序运行过程中仅创建一个对象实例,并探讨了单例模式的应用场景。

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

单例模式的重点就是让程序每次只能产生类的一个实例:

    技术路线就是:让类的构造方法成私有的然后设计一个public static的方法,这个方法返回的就是一个这个类的对象,为什么要是Static呢因为构造方法私有化后我们不能再外部new出这个对象了,也就是只能是静态加载了。

代码示例如下:Singleton类
public class Singleton {
private static Singleton instance;//用instance变量来保存要创建的实例
private Singleton() {}//私有构造函数
public static Singleton getInstance() {//静态的获取实例的方法
if (instance == null) instance = new Singleton();
return instance;
}
}

测试类代码:public class SingletonTest {
public static void main(String[] args) {
Singleton s1=Singleton.getInstance();
Singleton s2 = Singleton.getInstance();
if(s1==s2) System.out.println("同一个对象");
}
}
输出:同一个对象
这也是单利模式产生的原理。

为什么要用单例模式?

因为平时在我们的程序设计中有的事物只有一个实例,如脱机的打印机,CPU,公司的班车等等,这时每次我们只能产生一个实例供别的类调用这也就需要单例模式了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值