单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。是一种对象创建型模式。
要点有三个:
1、某个类只能有一个实例
2、它必须自行创建这个这个实例
3、它必须自行向整个系统提供这个实例。
//单例类 打印池类
public class PrintSpoolerSinglenton {
private static PrintSpoolerSinglenton instance=null;
private PrintSpoolerSinglenton(){
}
public static PrintSpoolerSinglenton getInstance(){
if(instance==null){
System.out.println("创建打印池!");
instance=new PrintSpoolerSinglenton();
}
else{
System.out.println("打印池正在工作中");
return null;
}
return instance;
}
public void manageJobs(){
System.out.println("管理打印任务");
}
}
//客户端类
public class Client {
public static void main(String[] args) {
// TODO Auto-generated method stub
PrintSpoolerSinglenton ps1,ps2;
try {
ps1=PrintSpoolerSinglenton.getInstance();
ps1.manageJobs();
} catch (Exception e) {
// TODO: handle exception
System.out.println(e.getMessage());
}
System.out.println("--------------------------------");
try {
ps2=PrintSpoolerSinglenton.getInstance();
ps2.manageJobs();
} catch (Exception e) {
// TODO: handle exception
System.out.println(e.getMessage());
}
}
}
原文:http://blog.csdn.net/zhu_9527/article/details/21074295