Java基础-枚举enum的使用细节

package com.hspedu.enum_;

public class Course427 {
    public static void main(String[] args) {
        // enum细节

        /*
         * 1、enum关键字实现枚举类,会继承Enum类,是一个final类
         * 2、public static final 类 xxx = new 类(...);
         *   等价于 xxx(...); 多个对象之间用 , 隔开
         * 3、如果是无参构造器可以省略(...)
         * 4、枚举对象创建必须放在enum类开始的位置
         * 5、enum的构造器只能是默认和private修饰
         * */

        System.out.println(Season.AUTUMN);
    }
}

enum Season {

    SPRING("春天", "温暖"),
    AUTUMN("秋天", "凉爽"),
    SUMMER("夏天", "炎热"),
    WINTER("冬天", "寒冷"),
    What;   // 直接调用无参构造器创建对象 等价于What();

    private String name;

    private String desc;

    private Season(String name, String desc) {
        this.name = name;
        this.desc = desc;
    }

    private Season() {

    }

    public String getName() {
        return name;
    }

    public String getDesc() {
        return desc;
    }

    @Override
    public String toString() {
        return "Season{" +
                "name='" + name + '\'' +
                ", desc='" + desc + '\'' +
                '}';
    }
}

 

package com.hspedu.enum_;

public class Course431 {
    public static void main(String[] args) {
        // enum细节

        /*
         * 1、enum定义的枚举类不允再有继承,它本身会继承Enum类
         * 2、enum实现的枚举类本身还是一个类,可以实现其他接口
         * */
        Music classicmusic = Music.CLASSICMUSIC;
        classicmusic.playing();
    }
}
interface IPlay {
    public abstract void playing();
}

enum Music implements IPlay {
    CLASSICMUSIC;

    @Override
    public void playing() {
        System.out.println("music...");
    }
}

 

posted @ 2022-03-08 09:35  柯南同学  阅读(46)  评论(0编辑  收藏  举报