java设计模式-单例模式

单例模式也是很常用的一种java设计模式,包括在Android中,几乎所有项目都会用到单例模式。

单例模式的作用就是防止重复创建,节省系统资源。

不是所有的类都适合用单例模式,单例一般用于被调用过程中不发生值或逻辑改变的类,例如多台电脑公用一台打印机,打印程序不因其他电脑的调用而改变,那么打印程序就可以是单例模式,而不必每台电脑打印时都创建一套打印程序。

单例模式分为懒汉式和饿汉式,并有很多变种,本文列举了比较常用且普遍使用到的实例。

好,下面看代码。


-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

package com.kurt.single;
/**
 * @author Kurt 876506231@qq.com
 * @date 2015-12-19 下午1:32:49
 */
//最常用的饿汉式单例模式
public class Single01 {
private static Single01 single01 = new Single01();
private Single01() {
// TODO Auto-generated constructor stub
}
public static Single01 getInstance() {
return single01;
}
}

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

package com.kurt.single;

/**
 * @author Kurt 876506231@qq.com
 * @date 2015-12-19 下午1:39:29
 */
public class Single02 {
//懒汉式
private static Single02 single02;
private Single02() {
}
public static Single02 getInstance() {
if (single02 == null) {
single02 = new Single02();
}
return single02;
}
}

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

package com.kurt.single;
/**
 * @author Kurt 876506231@qq.com
 * @date 2015-12-19 下午1:51:39
 */

//另一种饿汉式(变种)
public class Single03 {
private static Single03 single03 = null;
static {
single03 = new Single03();
}
private Single03() {
}
public static Single03 getInstance() {
return single03;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值