黑马程序员技术交流社区

标题: 请教一个关于枚举的问题 [打印本页]

作者: zhanqq2010    时间: 2014-6-19 21:53
标题: 请教一个关于枚举的问题
jdk5中出现的枚举不就已经将构造方法私有化了吗?,那张孝祥老师的“交通灯管理系统”中为什么还要手工私有化构造函数?这样不会冲突吗?附上部分代码,请大神帮我解答一下,万分感谢
  1. public enum Lamp {
  2.                         S2N("N2S", "S2W", false), S2W("N2E", "E2W", false), E2W("N2E", "E2W", false), E2S(
  3.                         "W2N", "S2N", false), N2S(null, null, false), N2E(null, null, false), W2E(
  4.                         null, null, false), W2N(null, null, false), S2E(null, null, true), E2N(
  5.                         null, null, true), N2W(null, null, true), W2S(null, null, true);
  6. //私有化构造函数
  7.         private Lamp() {

  8.         }
  9. //私有化构造函数
  10.         private Lamp(String opposite, String next, boolean lighted) {
  11.                 this.opposite = opposite;
  12.                 this.next = next;
  13.                 this.lighted = lighted;
  14.         }
  15.      ...
  16. }
复制代码





作者: 不死不休眠    时间: 2014-6-19 22:28
{:3_55:}没看到呢,不懂,回帖赚经验
作者: 华子    时间: 2014-6-19 22:55
枚举里的构造函数必须私有化的
作者: 123_yaya    时间: 2014-6-20 15:00
你可以什么都不写,那就是默认的私有,也可以加上private,但是就是不能用public或者其他修饰符
作者: 123_yaya    时间: 2014-6-20 15:02
你可以什么都不写,那就是默认的私有,也可以加上private,但是就是不能用public或者其他修饰符
作者: 123_yaya    时间: 2014-6-20 15:03
标题: RE: 请教一个关于枚举的问题
你可以什么都不写,那就是默认的私有,也可以加上private,但是就是不能用public或者其他修饰符




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