黑马程序员技术交流社区
标题:
关于7k交通灯管理系统的一个疑问??
[打印本页]
作者:
major2015
时间:
2015-4-21 12:20
标题:
关于7k交通灯管理系统的一个疑问??
昨天学习了张老师的交通灯管理系统,不得不说张老师是我们想入门学java的好老师,讲解项目思路清晰,面向对象的举例也是令人记忆深刻。
在源代码中,我觉得有一个方法是最重要的,那就是blackOut(),但这个代码中有一些我不清楚的
源码如下:
/**
* 某个灯变红时,对应方向的灯也要变红,并且下一个方向的灯要变绿
* @return 下一个要变绿的灯
*/
public Lamp blackOut(){
this.lighted = false;
if(opposite != null){
Lamp.valueOf(opposite).blackOut();
}
Lamp nextLamp= null;
if(next != null){
nextLamp = Lamp.valueOf(next);
System.out.println("绿灯从" + name() + "-------->切换为" + next);
nextLamp.light();
}
return nextLamp;
}
复制代码
不清楚的就是为什么要判断
if(opposite != null)和
if(next != null),因为12条线路在代码中只要掌控S2N,S2W,E2W,E2S四条线路就行了,而这四条线路对应的枚举类都包含了opposite和next的赋值,也就是一定不会是null值的,为什么还要判断???
当我除去了判断,运行又出错了,为什么啊??
有没有人研究过代码啊,求知道,。。。谢了、、、
作者:
itheima_llt
时间:
2015-4-21 15:24
本帖最后由 itheima_llt 于 2015-4-21 20:26 编辑
这个还没学,抱歉,不知道
作者:
major2015
时间:
2015-4-21 20:23
itheima_llt 发表于 2015-4-21 15:24
能发这么好的帖子,太谢谢了
敢不敢不水贴
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2