单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。是一种对象创建型模式。
要点有三个:
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