黑马程序员技术交流社区

标题: 关于枚举的小问题,不懂,求解答。 [打印本页]

作者: 叶征东    时间: 2012-9-13 15:52
标题: 关于枚举的小问题,不懂,求解答。
本帖最后由 叶征东 于 2012-9-13 16:05 编辑

public class EnumTest {

       public static void main(String[] args) {
             WeekDay weekday2 = WeekDay.MON;
       }
       public enum WeekDay{
             SUN(),MON(1),TUE(2),WED(2),THI(1),FRI,SAT;
              private WeekDay(){
                     System.out.println("first");
              }
              private WeekDay(int day1,int day2){
                    System.out.println("third");
              }
              private WeekDay(int day){
                   System.out.println("second");
             }
       }
}
输出结果如下:
first
second
second
second      //这两个怎么是“second”?不是为“third”么?      如果我想这两个“second”变成“third”,应该怎么做?  请指点下,谢谢!

second
first
first

作者: 李菁    时间: 2012-9-13 16:00
输出结果如下:
first
second
second
second      //这两个怎么是“second”?不是为“third”么?      如果我想这两个“second”变成“third”,应该怎么做?  请指点下,谢谢!
second           因为你TUE(2)和WED(2)调用的是只传一个参数的构造函数,只要将参数改为两个int就可以输出third
                                    例如改成TUE(2,2)和WED(2,2)即可

first
first

作者: 叶征东    时间: 2012-9-13 16:05
李菁 发表于 2012-9-13 16:00
输出结果如下:
first
second

谢谢,我理解错了,TUE(2),我把这个2 理解成指向有2个参数的构造方法,张老师的话有点听不懂,呵
作者: 尤圣回    时间: 2012-9-13 16:12
public class EnumTest {

       public static void main(String[] args) {
             WeekDay weekday2 = WeekDay.MON;
       }
       public enum WeekDay{
             SUN(),MON(1),TUE(2),WED(2),THI(1),FRI,SAT;
              private WeekDay(){
                     System.out.println("first");
              }
              private WeekDay(int day1,int day2){
                    System.out.println("third");
              }
              private WeekDay(int day){
                   System.out.println("second");
             }
       }
}
输出结果如下:
first
second
second
second      //这两个怎么是“second”?不是为“third”么?      如果我想这两个“second”变成“third”,应该怎么做?  请指点下,谢谢!
second     //你要看他们的重载方式  如果不把想两个“second”变成“third” 只需要对应的传入两个参数比如TUE(2,2),WED(2,2)
first
first




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