设计模式之单态模式(Singleton Pattern)

quote:看过很多次,但是第一次开始把自己看过的写出来,希望能够加深自己的理解。同时如果对大家有一点点帮助就更好了。

设计模式中单态模式用来确保一个类只有一个实例化对象。比如多人协作的黑板画,大家都是对一块黑板进行修改,所以只能有一个黑板实例。
实例代码如下:

package com.wphoenix9.singelton;

/**
 * 单态模式就是指一个类只能够实例化一个对象。这样可以达到类似工具类的性能,同时节省了内存。
 * @author wphoenix9
 *
 */
public class SingeltonDemo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		SingleClass scMain = SingleClass.getInstance();
		scMain.printFun();

	}

}


/**
 * 单态使用到的类中,类的构造函数是private,就是说不能够在外面使用c = new class();这样的形式构造类实例。因为构造函数是私有的。
 * 所以我们会在类里面定义该类的实例化对象,java语法也允许在类里面访问自己的私有方法。(虽然在自己内部定义自己的实例比较奇怪)
 * 然后可以定义一个函数,返回在该类中定义的类变量。因为这个内部的类变量是static的,而且从外部只能通过下面的getInstance访问这个static的类变量,所以保证了该类
 * 只能创建一个实例。
 * @author whpoenix9
 *
 */
class SingleClass
{
	private SingleClass(){}
	private static final SingleClass sc = new SingleClass();
	
	public static SingleClass getInstance()
	{
		return sc;
	}
	
	
	public void printFun()
	{
		System.out.println("我是单态模式里面的函数。");
	}
}

参考文献:
1. [浪曦原创]JAVA设计模式;

2. google搜索。

更好的示例,请移步:http://www.cnblogs.com/guoshiandroid/archive/2010/06/29/1767144.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值