黑马程序员技术交流社区

标题: 关于一般类模仿枚举类型的问题 [打印本页]

作者: MyNameIs520    时间: 2013-3-31 13:51
标题: 关于一般类模仿枚举类型的问题
直接贴出代码~~~

public abstract class Numbers {

        private Numbers() {
        };

        public final static Numbers ZERO = new Numbers() {       //创建Numbers类的子类对象
                public Numbers nextNum() {
                        return ONE;
                }
        };
        public final static Numbers ONE = new Numbers() {
                public Numbers nextNum() {
                        return ZERO;
                }
        };

        @Override
        public String toString() {
                return this == ZERO ? "ZERO" : "ONE";
        }
}

public class ClassAsEnum {

        /**
         * @param args
         */
        public static void main(String[] args) {

                Numbers day = Numbers.ONE;
                System.out.println(day);
                System.out.println(day.nextNum());//子类对象调用其方法,这里为什么会报错??
        }

}

请大神出来分析分析




作者: chensc    时间: 2013-3-31 14:07
想学习学习啊!
作者: 黄小贝    时间: 2013-3-31 15:31




作者: whs_nk    时间: 2013-4-1 17:48
public abstract class Numbers{}, Numbers day = Numbers.ONE;抽象类呐,根据枚举的定义及你的编程意图,那么 Numbers.ONE就是一个枚举的实例了,而抽象类和抽象的接口是不能创建实例的哦




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