(java基础)枚举

改成枚举

 枚举英文enumerarion

1.分析问题

(1)创建Season 对象有如下特点

(2)季节的值是有限的几个值(spring, summer, autumn, winter)

(3)只读,不需要修改。

2.解决方案

枚举是一组常量的集合。可以这里理解:枚举属于一种特殊的类,里面只包含一组有限的特定的对象。

 3.枚举的两种实现形式

(1)自定义类实现枚举

 例如上面的第一张图

(2)使用 enum 关键字实现枚举

例如上面第2、3张图

 4.枚举的注意事项

(1)当我们使用enum 关键字开发一个枚举类时,默认会继承 Enum 类, 而且是一个final 类[如何证明],老师使用javap  工具来演示

(2)传统的 public static final Season2 SPRING = new Season2("春天", "温暖"); 简化成 SPRING("春天", "温暖"), 这里必须知道,它调用的是哪个构造器.

(3)如果使用无参构造器 创建 枚举对象,则实参列表和小括号都可以省略

(4)当有多个枚举对象时,使用,间隔,最后有一个分号结尾

(5)枚举对象必须放在枚举类的行首。

5.enum常用方法

(1)说明:使用关键字 enum 时,会隐式继承 Enum 类,  这样我们就可以使用 Enum 类相关的方法。

(2)enum常用方法

 (1)toString():Enum 类已经重写过了,返回的是当前对象名,子类可以重写该方法,用于返回对象的属性信息

(2)name():返回当前对象名(常量名),子类中不能重写

(3)ordinal():返回当前对象的位置号,默认从 0 开始

(4)values():返回当前枚举类中所有的常量(values要反编译才能查到这个方法,追踪enum类没有显示)

(5)valueOf():将字符串转换成枚举对象,要求字符串必须为已有的常量名,否则报异常!

(6)compareTo():比较两个枚举常量,比较的就是编号!

例子在下图

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值