Java枚举类型

Java枚举类型

内容简介

  1. 枚举类型

枚举类型

在Java中,被 enum 关键字修饰的类型就是枚举类型,enum 的全称为 enumeration,它是 JDK 1.5 中引入的新特性。所有的枚举类型都是继承自 Enum 类型。
其具有集合的一些特点,用以存放有限个特定名称的元素。例如,分别使用元素 EASTSOUTHWESTNORTH 表示方位。

它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束,因此这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。
使用关键字 enum 定义作为引用类型且包含约束的枚举类型,隐式地作为抽象类java.lang.Enum 的子类。枚举类型包含若干枚举值,枚举变量赋值只能取枚举值。通常定义枚举类型时,还可以添加构造方法或其它方法。

枚举一般用于以下情况:定义常量、添加新方法、与switch结合使用、实现接口、使用接口组织枚举。

每个枚举类型均可使用静态方法 values() 获得相应的枚举数组。

注意

枚举类型的构造方法默认是 private ,不可使用 public 等修饰符。

实验要求

(1)新建类 EnumDemo ,并创建 main() 方法体。

(2)在类 EnumDemo 的上方,使用关键字 enum 定义一个反映一周七天的枚举类型Week ,其枚举值分别为 SunMonTueWedThuFriSat

(3)在 main() 方法体内,编写遍历枚举的代码并测试。

(4)分别给枚举值设定描述值,如 Sun(0)Mon(1) 等。相应地,增加字段 int index和构造方法 Week(int index){this.index=index;}

(5)编写根据枚举获取描述值的公有方法 public int getIndex(){return index;}

(6)在 main() 里,编写输出Wed对应描述值的代码并测试。

代码参考

1. 新建类 EnumDemo ,并创建 main() 方法体。

// 新建类EnumDemo,并创建main()方法体。
public class EnumDemo {
    public static void main(String[] args) {
        
    }
}

2. 在类 EnumDemo 的上方,使用关键字 enum 定义一个反映一周七天的枚举类型Week ,其枚举值分别为 SunMonTueWedThuFriSat

// 在类EnumDemo的上方,使用关键字enum定义一个反映一周七天的枚举类型Week
enum Week {
    // 分别给枚举值设定描述值,如Sun(0)、Mon(1)等。
    Sun, Mon, Tue, Wed, Thu, Fri, Sat;
}

3. 在 main() 方法体内,编写遍历枚举的代码并测试。

    public static void main(String[] args) {
        // 在main()方法体内,编写遍历枚举的代码并测试。
        // 增强 for 循环
        for(Week day:Week.values())
        {
            System.out.println(day);
        }
    }
测试结果

在这里插入图片描述

4. 分别给枚举值设定描述值,如 Sun(0)Mon(1) 等。相应地,增加字段 int index和构造方法 Week(int index){this.index=index;}

// 在类EnumDemo的上方,使用关键字enum定义一个反映一周七天的枚举类型Week
enum Week {
    // 分别给枚举值设定描述值,如Sun(0)、Mon(1)等。
    Sun(0), Mon(1), Tue(2), Wed(3), Thu(4), Fri(5), Sat(6);

    // 定义枚举描述字段
    int index;

    // 构造方法,用于实例化枚举描述字段
    Week(int index) {
        this.index = index;
    }
}

5. 编写根据枚举获取描述值的公有方法 public int getIndex(){return index;}

    // 编写根据枚举获取描述值的公有方法
    public int getIndex() {
        return index;
    }

6. 在 main() 里,编写输出Wed对应描述值的代码并测试。

// 新建类EnumDemo,并创建main()方法体。
public class EnumDemo {
    public static void main(String[] args) {
        // 在main()方法体内,编写遍历枚举的代码并测试。
        // 增强 for 循环
        for (Week day : Week.values()) {
            // 在main()里,编写输出Wed对应描述值的代码并测试。
            System.out.println(day + "(" + day.getIndex() + ")");
        }
    }
}
测试结果

在这里插入图片描述

完整代码

package unit02;

// (1)新建类EnumDemo,并创建main()方法体。
// (2)在类EnumDemo的上方,使用关键字enum定义一个反映一周七天的枚举类型Week,其枚举值分别为Sun、Mon、Tue、Wed、Thu、Fri和Sat。
// (3)在main()方法体内,编写遍历枚举的代码并测试。
// (4)分别给枚举值设定描述值,如Sun(0)、Mon(1)等。相应地,增加字段int index和构造方法 Week(int index){this.index=index;}
// (5)编写根据枚举获取描述值的公有方法 public int getIndex(){return index;}
// (6)在main()里,编写输出Wed对应描述值的代码并测试。

// 在类EnumDemo的上方,使用关键字enum定义一个反映一周七天的枚举类型Week
enum Week {
    // 分别给枚举值设定描述值,如Sun(0)、Mon(1)等。
    Sun(0), Mon(1), Tue(2), Wed(3), Thu(4), Fri(5), Sat(6);

    // 定义枚举描述字段
    int index;

    // 构造方法,用于实例化枚举描述字段
    Week(int index) {
        this.index = index;
    }

    // 编写根据枚举获取描述值的公有方法
    public int getIndex() {
        return index;
    }
}


// 新建类EnumDemo,并创建main()方法体。
public class EnumDemo {
    public static void main(String[] args) {
        // 在main()方法体内,编写遍历枚举的代码并测试。
        // 增强 for 循环
        for (Week day : Week.values()) {
            // 在main()里,编写输出Wed对应描述值的代码并测试。
            System.out.println(day + "(" + day.getIndex() + ")");
        }
    }
}

参考书目:吴志祥《JAVA编程技术》

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值