/** * 书本:《Thinking In Java》 * 功能:控制框架的实现,1、控制框架的完整实现是由单个的类创建的,从而使得实现的细节被封装了起来。内部类用来表示解决问题所必须的各种不同的action * ,2、内部类能够很容易地访问外围类的任意成员,所以可以避免这种实现变得笨拙。 * 文件:GreenhouseController.java * 时间:2015年4月7日19:14:33 * 作者:cutter_point */ package Lession10innerclasses; import Lession10innerclasses.controller.*; public class GreenhouseController { public static void main(String [] args) { GreenhouseControls gc = new GreenhouseControls(); gc.addEvent(gc.new Bell(900)); Event[] eventList = { gc.new ThermostatNight(0), gc.new LightOn(200), gc.new LightOff(400), gc.new waterOn(600), gc.new waterOff(800), gc.new ThermostatDay(1400) }; gc.addEvent(gc.new Restart(2000, eventList)); if(args.length == 1) { System.out.println("======================"); gc.addEvent ( new GreenhouseControls.Terminate ( new Integer(args[0]) ) ); } // System.out.println(System.nanoTime()); // System.out.println(args[0]); gc.run(); //根本停不下来的东西!! } }
好吧,这玩意就是个死循环!!!
前面那个类Controller里面的函数run有这么个玩意
while(eventList.size() > 0)
{
for(Event e : new ArrayList<Event>(eventList)) //对eventList做一个拷贝,免得改动了原来的数据
if(e.ready())
{
System.out.println(e);
e.action();
eventList.remove(e);
}
}
好啦,根本停不下来了!!!!!
【ThinkingInJava】20、控制框架的使用(初始化系统使用)
原文地址:http://blog.csdn.net/cutter_point/article/details/45421839