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

---------------------------------------------------------------- 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培训、期待与您交流! ----------------------------------------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值