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