• java用普通类如何实现枚举功能


    用普通类如何实现枚举功能,定义一个Weekday的类来模拟枚举功能。
        1、私有的构造方法。
        2、每个元素分别用一个公有的静态成员变量表示。
         可以有若干公有方法或抽象方法。采用抽象方法定义nextDay就将大量的if.else语句转移成了一个个独立的类

    Eg:package july78javaEnhance;

    //很好的一道题目。

    enum TrafficLamp{

        /**

         * 对于这道题目而言,使用的其实是匿名对象内部类!

         * 枚举最简单的创建对象方法:RED,YELLOW,GREEN

         * 对于普通的类而言,创建对象:Person p = new Person();

         *

         */

       

        RED(30){

            @Override

            public TrafficLamp nextLamp() {

                return YELLOW;

            }

           

        },

       

        YELLOW(40){

            @Override

            public TrafficLamp nextLamp() {

                return GREEN;

            }

           

        },

       

        GREEN(45){

            @Override

            public TrafficLamp nextLamp() {

                return RED;

            }

           

        };

        public abstract TrafficLamp nextLamp();

        private int time;

        private TrafficLamp(int time){

            this.time = time;

        }

        public int getTime() {

            return time;

        }

        public void setTime(int time) {

            this.time = time;

        }

       

    }

    public class EnumDemo4 {

        public static void main(String[] args) {

            System.out.println(TrafficLamp.RED.nextLamp());

            System.out.println(TrafficLamp.RED.nextLamp().getTime());

           

        }

    }

  • 相关阅读:
    HDU5343:MZL's Circle Zhou(SAM,记忆化搜索DP)
    动归皆背包——那些做过的背包
    CODEVS 3943 数学奇才琪露诺
    codevs 1540 银河英雄传说
    CODEVS 1004四子连棋
    洛谷1082 同余方程
    洛谷1006 传纸条
    洛谷1508 Likecloud-吃、吃、吃
    洛谷1108 低价购买
    洛谷1156 垃圾陷阱
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11137704.html
Copyright © 2020-2023  润新知