学无先后,达者为师

网站首页 编程语言 正文

使用enum关键字定义的枚举类实现接口的情况

作者:ouxinde 更新时间: 2022-08-15 编程语言

情况一:实现接口,在enum类中实现抽象方法
情况二:让枚举类的对象分别实现接口中的抽象方法
 

代码如下:

public class SeasonTest {

    public static void main(String[] args) {
        Season spring = Season.SPRING;
        spring.show();
    }
}

enum Season implements Info {

    //1.提供当前枚举类的对象,多个对象之间用","隔开,末尾对象";"结束
    SPRING("春天", "春天") {
        @Override
        public void show() {
            System.out.println("春天");
        }
    },
    SUNMER("夏天", "夏天") {
        @Override
        public void show() {
            System.out.println("夏天");
        }
    },
    AUTUMN("秋天", "秋天") {
        @Override
        public void show() {
            System.out.println("秋天");
        }
    },
    Season("冬天", "冬天") {
        @Override
        public void show() {
            System.out.println("冬天");
        }
    };

    //2.声明Season对象的属性:private final修饰
    private final String name;
    private final String desc;

    //3.私有化类的构造器,并给对象属性赋值
    private Season(String name, String desc) {
        this.name = name;
        this.desc = desc;
    }

    //4.其他诉求,获取枚举类的属性
    public String getName() {
        return name;
    }

    public String getDesc() {
        return desc;
    }

    //其他诉求,提供toString()方法
    @Override
    public String toString() {
        return "Season{" +
                "name='" + name + '\'' +
                ", desc='" + desc + '\'' +
                '}';
    }


    @Override
    public void show() {
        System.out.println("季节");
    }
}

interface Info {
    void show();
}

结果:

春天

原文链接:https://blog.csdn.net/weixin_44530708/article/details/124884047

栏目分类
最近更新