方法调用
考虑一种日志情形。
有多个程序会调用一个 MyLog 类来生成日志对象。
日志对象实际上向某大型设备输出。
要求MyLog类使用单例模式,最多只能有两个实例。调用getInstance()获得一个实例。 每个实例有busy或free的状态,表示是否为空闲。假如所有实例都是busy的,则返回空指针。
class MyLog { private static MyLog a = new MyLog(); private static MyLog b = new MyLog(); private boolean busy; private MyLog(){ } public void use() { busy = true; } public void free() { busy = false; } public static MyLog getInstance() { if(a.busy==false) return a; if(b.busy==false) return b; return null; } } public class MyTest { public static void main(String[] args) { MyLog t1 = MyLog.getInstance(); t1.use(); MyLog t2 = MyLog.getInstance(); t2.use(); MyLog t3 = MyLog.getInstance(); System.out.println(t3); t2.free(); t3 = MyLog.getInstance(); System.out.println(t3); } }
原文地址:http://blog.csdn.net/u012897654/article/details/24890607