java枚举类

枚举类使用:

        1.枚举类使用:类的对象只有有限个,确定的

        2.当需要定义一组常量的时候强烈建议使用枚举类

        3.如果枚举类中只有一个对象则可以作为单例模式的实现方式

如何定义枚举类:

        1.jdk1.5之前可以自定义枚举类

//自定义枚举类
class Season {
    //1.什么Season对象的属性:private,final修饰
    private final String seasonName;

    private final String seasonDesc;

    //2.私有化类的构造器,并给对象赋值
    private Season(String seasonName, String seasonDesc) {
        this.seasonName = seasonName;
        this.seasonDesc = seasonDesc;
    }

    //3.提供当前枚举类的多个对象
    public static final Season SPRING = new Season("春天","春暖花开");
    public static final Season SUMMER = new Season("夏天","夏日炎炎");
    public static final Season AUTUMN = new Season("秋天","秋高气爽");
    public static final Season WINTER = new Season("冬天","冰天雪地");

    //4.其他诉求:获取枚举类的对象、toString方法
    public String getSeasonName() {
        return seasonName;
    }

    public String getSeasonDesc() {
        return seasonDesc;
    }

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

        2.jdk1.5之后可以使用enum关键字


//enum枚举类
enum Season {

    //1.提供当前枚举类的对象,用“,”隔开,末尾用“;”结束
    SPRING("春天", "春暖花开"),
    SUMMER("夏天", "夏日炎炎"),
    AUTUMN("秋天", "秋高气爽"),
    INTER("冬天", "冰天雪地");

    //2.什么Season对象的属性:private,final修饰
    private final String seasonName;

    private final String seasonDesc;

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


    //4.其他诉求:获取枚举类的对象、toString方法
    public String getSeasonName() {
        return seasonName;
    }

    public String getSeasonDesc() {
        return seasonDesc;
    }

enum类常用方法

        1.values()方法:返回枚举类型的对象数组。该方法可以很方便的遍历所有的枚举值

        2.valusOf(String str):可以把一个字符串转为对应的枚举对象。要求字符串必须是枚举类对象的“名字”。如不是会运行时异常:

        3.toString:返回当前枚举类对象的常量名称

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

        1.实现接口,在enum类中实现抽象方法

interface Info {
    void show();
}

//enum枚举类
enum Season implements Info{


}

        2.让枚举类的对象分别实现接口中的抽象方法

interface Info {
    void show();
}

//enum枚举类
enum Season implements Info{

    //1.提供当前枚举类的对象,用“,”隔开,末尾用“;”结束
    SPRING("春天", "春暖花开"){
        @Override
        public void show() {

        }
    },
    SUMMER("夏天", "夏日炎炎"){
        @Override
        public void show() {

        }
    },
    AUTUMN("秋天", "秋高气爽"){
        @Override
        public void show() {

        }
    },
    INTER("冬天", "冰天雪地"){
        @Override
        public void show() {

        }
    };
}

              

             

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值