黑马程序员技术交流社区

标题: 关于枚举 [打印本页]

作者: 文涛    时间: 2013-11-14 17:06
标题: 关于枚举
看张老师的视频,其中有一个枚举这么定义
public enum lamp
{
    S2N(N2S),N2S;
private lamp(lamp opposite){}
private lamp(){}
}
张老师说这里会错,我能理解,因为N2S对象还没有初始化,但是为什么张老师说吧N2S对象写在S2N的前面还是会错呢,比如像下面这么写
public enum lamp
{
    N2S,S2N(N2S);
private lamp(lamp opposite){}
private lamp(){}
}


作者: spiderman    时间: 2013-11-15 19:01
如果就像你这样写,肯定没有问题,但是问题是有12个这样的灯,而且前4个灯彼此之间形成了一个回路
1让2亮,2让3亮,3让4亮,4让1亮....这样的情况,无论你怎么摆都会出现对象没创建的情况。
张老师可能随便找了一个例子,可能不太恰当,但是这样的情况的确会存在。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2