黑马程序员技术交流社区
标题:
枚举的问题
[打印本页]
作者:
张峰
时间:
2011-10-28 11:56
标题:
枚举的问题
本帖最后由 张峰 于 2011-11-30 13:15 编辑
package cn.itcast.day1;
public class EnumTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
weekday weekday =
weekday
.MON;
System.out.println(weekday.nextday());
}
}
package cn.itcast.day1;
public class weekday {
private weekday(){}
public final static weekday SUN = new weekday();
public final static weekday MON = new weekday();
public weekday nextday(){
if (this == SUN){
return MON;
}else{
return SUN;
}
}
public String toString(){
return this==SUN?"SUN":"MON";
}
}
红色区域提示错误是:The local variable weekday may not have been initialized
没被初始化?
作者:
杨玉揆
时间:
2011-10-28 12:12
weekday weekday = weekday.MON; 自己在认真的看看哦
作者:
黄健
时间:
2011-10-28 12:16
这样就对了
weekday w = weekday.MON; //你的类型和变量名字一样了,改下变量名
System.out.println(w.nextday());
作者:
吉许
时间:
2011-10-28 12:40
注意书写规范,你的类名书写不规范导致你的类型和变量名不能区分.
作者:
魏兴发
时间:
2011-10-28 12:47
类名的首字母大写,这是规范!!
作者:
黄晓天
时间:
2011-10-28 13:43
类名的首字母要大写,应该是WeekDay weekday=WeekDay.MON;
System.out.println(weekday.nextDay());
因为MON是WeekDay类的一个static 对象,而不是weekday的对象,反而weekday和MON都是WeekDay的对象,下面的是调用类WeekDay的nextDay() 方法,只是这个方法是通过WeekDay的对象weekday来调用的。
这是我自己的理解,不知道对不对!
作者:
黄晓天
时间:
2011-10-28 13:43
类名的首字母要大写,应该是WeekDay weekday=WeekDay.MON;
System.out.println(weekday.nextDay());
因为MON是WeekDay类的一个static 对象,而不是weekday的对象,反而weekday和MON都是WeekDay的对象,下面的是调用类WeekDay的nextDay() 方法,只是这个方法是通过WeekDay的对象weekday来调用的。
这是我自己的理解,不知道对不对!
作者:
郭敏
时间:
2011-10-28 15:22
兄弟! 玫举是无法通过 new 创建玫举对象的,因为玫举中构造方法是private的, 你程序中,也写了哦, {:soso_e100:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2