enum枚举关键字

enum枚举关键字:与class、interface平级

enum 枚举名{
列举常量元素
}
一开始疑惑列举的元素既然是常量,为什么不可以是字符串等等,例如
错误示例:字符串列举
然后修正代码尝试运行,再反编译后看看:
声明Week枚举并调用
运行后对枚举Week反编译解析:javap -p Week.class
Terminal反编译
反编译后,发现enum Week本质上是class Week extends Enum
可以将关键字enum视为对Enum类的封装,因此所有关键字enum声明的枚举都是对枚举类Enum的继承类。
而枚举中的元素本质上都是static final修饰的类引用,即其对象常量,所以使用时需用类名来调用。

API文档中关于枚举Enum类的释义:

我尝试直接定义一个Week类继承Enum:
Enum类无法被直接继承
似乎是java不允许这样使用枚举,所以才有了关键字enum,这个原因暂不了解

因为无法直接继承Enum类,所以利用关键字enum封装后,只需定义枚举声明,列举常量引用元素,编译器会自动调用构造函数初始化常量,就可以类名直接调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值