您的位置:首页 > 职场人生

黑马程序员 7K面试之交通信号灯

2013-08-07 14:25 211 查看
---------------------------------------------------------------- android培训、java培训、期待与您交流! ----------------------------------------------------------------------------------------

一,面向对象的设计

1,谁拥有数据,谁就提供对外操作数据的方法。

感觉张老师分析的“石头磨成石刀,石刀砍树,树变成木材,木材做成椅子”分析的很好。那天在做论坛上的老师在黑板上画圆的时候,分析清楚了,圆用有自身数据,画圆应该在圆上,可是对于这石头变石刀还是有点难分析的。 石头由石刀工人加工成石刀,石刀有砍树的方法,方法返回返回一个木材对象,而木材再由木材加工厂做成椅子。

2,线程池的方式创建线程。

Executors是创建线程的工具类,调用其方法可以返回一个ExecutorService的线程。

如创建一个单线程

ExecutorService pool=Executors.newSingleThreadExecutor();

3,定时器的创建

ScheduledExecutorService timer =Executors.newScheduledThreadPool(1);

设定定时器的频率,多长时间执行一次定时任务

time.scheduledAtFixedDate(

  new Runnable(){

   public void run()

   {

   

   }

   }); //定时任务

  1, //多长时间以后执行

  1, //执行完多长时间以后再执行

  TimeUnit.SECONDS// 设置上边数字代表的时间格式

4,内部类访问访问外部类的成员变量,类名.this.变量名

二,思路整理

1,有三个实物,路,车,灯,谁拥有数据谁就操作数据,路上应该有车,车是由路创建的,所以路能够让车增加或者减少,作为模拟,可以不把车设计成对象,因为车是用来测试路口环境的,也不需要有数据和方法。而灯在一个路口应该有三个,分别代表从一个方向往三个方向的行驶,由于右转弯不会和任何车有冲突,故把右转弯的灯设置成常亮。还应该设置一个控制器,用来控制灯之间的切换。

2,路线问题:先从南边考虑的话,从南往北为路线一,然后从南往西为路线二,从东往西为路线三,从东往南为路线四,而与南东对应相反方向的又有四条,再加上每个路口右转的又有四条。

三,代码编写

代码的编写,跟着自己的思路一步一步来。

四,枚举中的构造方法一定是私有的。

---------------------------------------------------------------- android培训、java培训、期待与您交流! ----------------------------------------------------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: