单例模式

什么是单例模式

单例模式(也叫单件模式)的作用就是保证在整个应用程序的生命周期中,任何一个时刻,单例类的实例都只存在一个(当然也可以不存在)。

全局变量和单例模式的区别
  1. 首先,全局变量是对一个对象的静态引用,全局变量确实可以提供单例模式实现的全局访问这个功能,但是它并不能保证应用程序中只有一个实例;
  2. 编码规范也明确指出应该要少用全局变量,因为过多使用全局变量,会造成代码难度
  3. 全局变量并不能实现继承,单例模式在类中保存了它的唯一实例——这个类,他可以保证只能创建一个实例,同时它还提供了一个访问该唯一实例的全局访问点。
注意点

单例模式用来保证系统中一个类只有一个实例。单例类的构造函数必须为私有,同时单例类必须提供一个全局访问点。

单例模式代码
public class Test{
	private Test() {}
	private static Test uniqueInstance = new Test();
	public static Test getInstance() {
		return uniqueInstance;
	}
}

使用这种方法实现的单例模式,在类被加载时就会实例化这个类的一个对象,由于在使用之前对象已经创建好,因此,可以在多线程环境下使用这种方法。如果采用按需实例化的方法(在实例化对象在使用的时候才实例化),就需要考虑多线程的同步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值