enum

来源:互联网 发布:淘宝开店卖红酒 编辑:程序博客网 时间:2024/05/21 04:20

1、枚举类就是class,而且是一个不可以被继承的final类。
2、这些枚举值都是public static final的,也就是我们经常所定义的常量方式,因此枚举类中的枚举值最好全部大写。
(1) 构造器只是在构造枚举值的时候被调用。
(2) 构造器只能私有private,绝对不允许有public构造器。

枚举

package com.godinsec;public class Main {    public static void main(String[] args) {        SeasonEnum sping = SeasonEnum.SPRING;        System.out.println(sping);        System.out.println("-----------");        SeasonEnum[] sum = SeasonEnum.values();        for (SeasonEnum s : sum) {            System.out.println(s);        }        System.out.println("-----------");        SeasonEnum ss = SeasonEnum.valueOf("WINTER");        System.out.println(ss);        System.out.println("-----------");        SeasonEnum seasonEnum1 = SeasonEnum.getValue(1);        SeasonEnum seasonEnum2 = SeasonEnum.getValue(5);        System.out.println(seasonEnum1);        System.out.println(seasonEnum2);    }    enum SeasonEnum {        SPRING, SUMMER, AUTUMER, WINTER;        public static SeasonEnum getValue(int index){            for(SeasonEnum value:values()){                if(value.ordinal() == index){                    return value;                }            }            return SPRING;        }    }}

输出如下

SPRING-----------SPRINGSUMMERAUTUMERWINTER-----------WINTER-----------SUMMERSPRING

枚举接口

package com.godinsec;public class Main {    public static void main(String[] args) {        Season1 spring = Season1.SPRING;        System.out.println(spring.getSeasonName());        spring.show();        // 1.values()        Season1[] seasons = Season1.values();        for (int i = 0; i < seasons.length; i++) {            System.out.println(seasons[i]);        }        System.out.println();        String str = "WINTER";        Season1 sea = Season1.valueOf(str);        System.out.println(sea);    }    interface Info {        void show();    }    enum Season1 implements Info {        SPRING("spring", "春暖花开") {            public void show() {                System.out.println("春天在哪里?");            }        },        SUMMER("summer", "夏日炎炎") {            public void show() {                System.out.println("生如夏花");            }        },        AUTUMN("autumn", "秋高气爽") {            public void show() {                System.out.println("秋天是用来分手的季节");            }        },        WINTER("winter", "白雪皑皑") {            public void show() {                System.out.println("冬天里的一把火");            }        };        private final String seasonName;        private final String seasonDesc;        private Season1(String seasonName, String seasonDesc) {            this.seasonName = seasonName;            this.seasonDesc = seasonDesc;        }        public String getSeasonName() {            return seasonName;        }        public String getSeasonDesc() {            return seasonDesc;        }        @Override        public String toString() {            return "Season [seasonName=" + seasonName + ", seasonDesc="                    + seasonDesc + "]";        }    }}

输出如下

spring春天在哪里?Season [seasonName=spring, seasonDesc=春暖花开]Season [seasonName=summer, seasonDesc=夏日炎炎]Season [seasonName=autumn, seasonDesc=秋高气爽]Season [seasonName=winter, seasonDesc=白雪皑皑]Season [seasonName=winter, seasonDesc=白雪皑皑]
0 0
原创粉丝点击