打字猴:1.700469046e+09
1700469046 Watch watchBreakfast=new Watch(hanFeiZi,liSi,“breakfast”);
1700469047
1700469048 //开始启动线程,监控
1700469049
1700469050 watchBreakfast.start();
1700469051
1700469052 //观察娱乐情况
1700469053
1700469054 Watch watchFun=new Watch(hanFeiZi,liSi,“fun”);
1700469055
1700469056 watchFun.start();
1700469057
1700469058 //然后我们看看韩非子在干什么
1700469059
1700469060 Thread.sleep(1000);//主线程等待1秒后后再往下执行
1700469061
1700469062 hanFeiZi.haveBreakfast();
1700469063
1700469064 //韩非子娱乐了
1700469065
1700469066 Thread.sleep(1000);
1700469067
1700469068 hanFeiZi.haveFun();
1700469069
1700469070 }
1700469071
1700469072 }
1700469073
1700469074 运行结果如下所示:
1700469075
1700469076 韩非子:开始吃饭了……
1700469077
1700469078 李斯:观察到李斯活动,开始向老板汇报了……
1700469079
1700469080 李斯:报告,秦老板!韩非子有活动了–>韩非子在吃饭
1700469081
1700469082 李斯:汇报完毕
1700469083
1700469084 韩非子:开始娱乐了……
1700469085
1700469086 李斯:观察到李斯活动,开始向老板汇报了……
1700469087
1700469088 李斯:报告,秦老板!韩非子有活动了–>韩非子在娱乐
1700469089
1700469090 李斯:汇报完毕
1700469091
1700469092 结果出来,韩非子一吃早饭李斯就知道,韩非子一娱乐李斯也知道,非常正确!结果正确但并不表示你有成绩,我告诉你:你的成绩是0,甚至是负的!你有没有看到你的CPU飙升,Eclipse不响应状态?看到了?看到了你还不想为什么?!看看上面的程序,别的就不多说了,使用了一个死循环while(true)来做监听,要是用到项目中,你要多少硬件投入进来?你还让不让别人的程序运行了?!一台服务器就跑你这一个程序就完事!
1700469093
1700469094 错误也看到了,我们必须要修改,这个没法应用到项目中,而且这个程序根本就不是面向对象的程序,这完全是面向过程的,不改不行,怎么修改呢?我们来想,既然韩非子一吃饭李斯就知道了,那我们为什么不把李斯这个类聚集到韩非子那个类上呢?说改就改,立马动手,我们来看修改后的类图,如图22-3所示。
1700469095
[ 上一页 ]  [ :1.700469046e+09 ]  [ 下一页 ]