单例模式
(1)自定义异常类PrintSpoolerException(打印池异常类)
public class PrintSpoolerException extends Exception{
public PrintSpoolerException(String message){
super(message);
}
}
在系统中只能运行一个打印池对象,如果重复创建则打印池抛出异常
(2)单例类PrintSpoolerSingleton(打印池类)
public class PrintSpoolerSingleton{
private static PrintSpoolerSingleton instance = null;
private PrintSpoolerSingleton(){
public static PrintSpoolerSingleton getInstance() throws PrintSpoolerException{
if(instace == null){
System.out.println("创建打印池");
instance = new PrintSpoolerSingleton();
}
else{
throw new PrintSpoolerException("打印池正在工作!请不要重复创建");
}
return instance;
}
public void manageJobs(){
System.out.println("管理打印任务!");
}
}
PrintSpoolerSingleton是打印池单例类,如果在系统中不存在则创建新的对象,如果存在则抛出一个PrintSpoolerException类型的异常。