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