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