栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

枚举类的使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

枚举类的使用

什么是枚举类

1,当类中的对象是有限个,确定的被称为枚举类,当需要定义一组常量时,使用枚举类

2,若枚举只有一个对象,则可以作为一种单列模式的实现方式

如何定义枚举类

1,jdk5.0之前,自定义枚举类

public class SeaonTest {

    public static void main(String[] args) {
//        调用自定义枚举类的方法
        Season spring = Season.SPRING;
        System.out.println(spring);
    }
}

//    自定义枚举类
    class Season{
//        声明Season对象的属性:private final进行修饰
    private  final String seasonName;
    private  final String seasonDesc;
//    私有化的构造器,并给对象属性赋值
   private Season (String seasonName,String seasonDesc){
        this.seasonName = seasonName;
        this.seasonDesc = seasonDesc;

    }
//    3,提供当前枚举类的多个对象:public static final的
    public static final Season SPRING = new Season("春天", "1");
    public static final Season SUMMER = new Season("夏天", "2");
    public static final Season AUTUMN = new Season("秋天", "3");
    public static final Season WINTER = new Season("冬天", "4");

    //    4,其他诉求L:获取枚举类对象的属性,git
    public String getSeasonName() {
        return seasonName;
    }

    public String getSeasonDesc() {
        return seasonDesc;
    }

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

2,jdk5.0之后,可以使用关键字enum进行枚举类的定义

//    定义的枚举类默认继承于java.lang.Enum
//
    public static void main(String[] args) {
        Season2 summer = Season2.SUMMER;
//        如果使用toString方法重写的化打印的是重写之后的内容  Season{seasonName='夏天', seasonDesc='2'}
        System.out.println(summer);// SUMMER 默认toSteing打印的是当前对象的名字
        System.out.println(Season2.class.getSuperclass());
    }

}


//    自定义枚举类
enum Season2{
    //    3,提供当前枚举类的对象,多个对象之间使用","隔开,末尾对象使用";"结束
         SPRING  ("春天", "1"),
         SUMMER ("夏天", "2"),
         AUTUMN  ("秋天", "3"),
         WINTER  ("冬天", "4");

    //        声明Season对象的属性:private final进行修饰
    private  final String seasonName;
    private  final String seasonDesc;
    //    私有化的构造器,并给对象属性赋值
    private Season2 (String seasonName,String seasonDesc){
        this.seasonName = seasonName;
        this.seasonDesc = seasonDesc;

    }


    //    4,其他诉求L:获取枚举类对象的属性,git
    public String getSeasonName() {
        return seasonName;
    }

    public String getSeasonDesc() {
        return seasonDesc;
    }

    @Override
    public String toString() {
        return "Season{" +
                "seasonName='" + seasonName + ''' +
                ", seasonDesc='" + seasonDesc + ''' +
                '}';
    }
Enum类的主要常用方法




public class SeaonTest1 {
//    定义的枚举类默认继承于java.lang.Enum
//
    public static void main(String[] args) {
        Season2 summer = Season2.SUMMER;
//        如果使用toString方法重写的化打印的是重写之后的内容  Season{seasonName='夏天', seasonDesc='2'}
        System.out.println(summer.toString());// SUMMER 默认toSteing打印的是当前对象的名字
//        System.out.println(Season2.class.getSuperclass());
//        values方法
        Season2[] values = Season2.values();
        for ( int i = 0; i 
Enum关键字定义的枚举类实现接口的情况 

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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/666678.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号