黑马程序员技术交流社区

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

作者: 燕国庆    时间: 2012-11-16 17:05
标题: 有关枚举的问题
本帖最后由 燕国庆 于 2012-11-16 20:55 编辑

package cn.guoqing.day01;

public class EnumTest {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                Weekday weekday=Weekday.SUN;
                //System.out.println(weekday==SUN);这个地方为什么不是TRUE.此时的weekday与SUN不都是Weekday类型的引用吗?同时指向new Weekday()对象吗
                //System.out.println(weekday.toString());
                System.out.println(weekday.nextDay().toString());

        }

}
public class Weekday {
        private Weekday(){}
        public static final Weekday SUN=new Weekday();
        public static final Weekday MON=new Weekday();
        
        public Weekday nextDay(){
                if(this==SUN)
                        return MON;
                else
                        return SUN;
        }
        
        public String toString(){
                return this==SUN?"SUN":"MOM";
        }
}求指教,谢谢帮忙!!!
作者: 王阳    时间: 2012-11-16 19:45
public static void main(String[] args) {
                // TODO Auto-generated method stub
                Weekday weekday=Weekday.SUN;
                //System.out.println(weekday==SUN);这个地方为什么不是TRUE.此时的weekday与SUN不都是Weekday类型的引用吗?同时指向new Weekday()对象吗
                //System.out.println(weekday.toString());
                System.out.println(weekday.nextDay().toString());

标红色的那个地方应该错了吧,是Weekday.SUN吧。那么打印结果就为true了,因为都是静态的指向的方法区同一个地址。

        }
作者: 燕国庆    时间: 2012-11-16 20:54
王阳 发表于 2012-11-16 19:45
public static void main(String[] args) {
                // TODO Auto-generated method stub
         ...

知道哪里错了,谢谢,、
作者: 王阳    时间: 2012-11-17 01:13
燕国庆 发表于 2012-11-16 20:54
知道哪里错了,谢谢,、

呵呵,客气了。




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