黑马程序员技术交流社区

标题: 枚举的问题 [打印本页]

作者: 张峰    时间: 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