Java中枚举的学习总结

本文详细介绍了Java中的枚举类型,包括枚举的定义方式、常用方法及注意事项。枚举用于表示一组有限的常量,如错误级别、季节等。枚举在1.5版本后引入,提供了更安全的常量管理。枚举可以有构造方法,但构造方法必须私有,并且枚举默认继承自`java.lang.Enum`,不允许有子类。在使用枚举时,注意不要修改枚举的值,且switch语句中可以直接使用枚举常量名。
摘要由CSDN通过智能技术生成

简介

        Java在1.5之后引入了枚举这一新的类型。枚举用于表示有限数量的一组同类常量。

        举例说明:

        (1)错误的级别:高、中、低。

        (2)季节:春、夏、秋、冬。

定义格式

枚举定义第1种格式(常见的定义方式)

权限修饰符 enum 枚举名称 {
    实例1,实例2,实例3;
}
public enum Level {
    LOW,MIDDLE,HIGH;  //直接从字面意思即可看出级别
}

枚举定义第2种格式(类似1.5之前的写法,语法更简单)

public enum Level {
    //创建对象,小括号即表示构造方法
    LOW(1),MIDDLE(50),HIGH(100);

    private int levelValue;

    //将构造方法私有,防止外部的修改添加
    private Level(int levelValue) {
        this.levelValue = levelValue;
    }

    public int getLevelValue() {
        return levelValue;
    }

    public void setLevelValue(int levelValue) {
        this.levelValue = levelValue;
    }
}

枚举常用方法

Enum是所有Java语言枚举类型的基本公共类(注意Enum是抽象类)。Enum是抽象类,所有的枚举类都继承了这个类,以下是它的常见方法。 

枚举注意事项

  • 一旦定义了枚举,最好不要妄图修改里面的值,除非修改是必要的。
  • 枚举类默认继承的是java.lang.Enum类而不是Object类。
  • 枚举类不能有子类,因为其枚举类默认被final修饰。
  • 只能有private构造方法。
  • switch中使用枚举时,直接使用常量名,不用携带类名。
  • 不能定义name属性,因为自带name属性。
  • 不要为枚举类中的属性提供set方法,不符合枚举最初设计初衷。

补充:1.5之前枚举类型的写法

public class Level {

    public static final Level LOW = new Level(1);
    public static final Level MIDDLE = new Level(1);
    public static final Level HIGH = new Level(1);

    private int levelValue;

    //将构造方法私有,防止外部的修改添加
    private Level(int levelValue) {
        this.levelValue = levelValue;
    }

    public int getLevelValue() {
        return levelValue;
    }

    public void setLevelValue(int levelValue) {
        this.levelValue = levelValue;
    }
}

使用实现

public static void main(String[] args) {
        System.out.println(Level.HIGH.getLevelValue());
}

运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值