Java基础之枚举

什么是枚举

枚举是逐一列举的意思,枚举的作用是进行取值的规范和分类

有限数据的集合,可以使用枚举表示,比如性别,季节,星期,月份等数据。

定义枚举的格式

public enum 枚举名称{
	枚举值1,枚举值2,枚举值3...;
}

例子:

//季节枚举
public enum Season {
    SPRING,SUMMER,AUTUNM,WINTER
}
public class MyDate {
    private int year;
    private int month;
    private int day;
    private Season season;

    public MyDate() {
    }

    public MyDate(int year, int month, int day, Season season) {
        this.year = year;
        this.month = month;
        this.day = day;
        this.season = season;
    }
 }
public static void main(String[] args) {
        MyDate myDate = new MyDate(2022, 11, 2, Season.AUTUNM);
        System.out.println(myDate);
    }

扩展

枚举的本质是final修饰的Java类(枚举不能被继承)

枚举类的构造方法是私有的(枚举不能在外部创建对象)

枚举值是枚举类的对象,是底层自动创建的

将Season枚举类反编译得:

public final class Season extends Enum
{

	public static final Season SPRING = new Season("SPRING", 0);
	public static final Season SUMMER = new Season("SUMMER", 1);
	public static final Season AUTUNM = new Season("AUTUNM", 2);
	public static final Season WINTER = new Season("WINTER", 3);
	private static final Season $VALUES[] = $values();

	public static Season[] values()
	{
		return (Season[])$VALUES.clone();
	}

	public static Season valueOf(String name)
	{
		return (Season)Enum.valueOf(jwl09679A4E3E/Season, name);
	}

	private Season(String s, int i)
	{
		super(s, i);
	}

	private static Season[] $values()
	{
		return (new Season[] {
			SPRING, SUMMER, AUTUNM, WINTER
		});
	}

}

最后

如果你对本文有疑问,你可以在文章下方对我留言,敬请指正,对于每个留言我都会认真查看。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值