枚举的学习

 

枚举

1)、用普通类模拟枚举功能。用weekDay的类来模拟

       私有的构造方法

       每个元素分别用一个公有的静态成员变量表示

       可以有若干公胡方法或抽象方法,例如,要提供nextDay()方法必须是抽象的。采用抽象方法定义nextDay()就将大量的if else 语句转移成了一个个独立的类

       代码例子:

 

下面,通过枚举类,实现相同的功能

a、什么是枚举,枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错,枚举可以让编译器在编译时就可以控制源程序中填写的非法值,普通变量在开发阶段无法实现这一目标。

       b、可以将枚举类型看作一个类,它继承于java.lang.Enum,当定义一个枚举类型时,每一个枚举类型成员都可以看作是枚举类型的一个实例。这些枚举成员都默认被final, public, static所修饰,所以可以直接用枚举类型名直接调用枚举类型成员。

c、枚举类型中可以定义构造方法,成员变量,变通方法和抽象方法,枚举元素必须位于枚举体中的最开始的部分,枚举元素列表要有分号与其他成员分隔。把枚举中的成员方法或变量等放在枚举元素的前面,编译器会报错。

常用的方法:

values():以数组的形式返回枚举类型成员

valueOf():将普通字符串转换为枚举类型实例

compareTo():比较两个枚举对象在定义时的顺序

ordinal():获得枚举成员的位置索引

d、枚举类型的构造方法:

       枚举类型的构造方法必须为private修饰,

多个构造方法,怎么选择调用哪个构造方法的?若要调用构造方法,可以在定义枚举成员变量时,指定其构造方法的参数,系统会根据参数类型自动去调用相应的构造方法。

枚举元素MONMON()的效果一样,都是调用默认的构造方法。

e、普通方法

       可以通过枚举成员调用。和普通类调用形式一样

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值