java之枚举类

 ------- android培训java培训、期待与您交流! ----------

枚举类:
在某些情况下,一个类的对象有限且固定,我们就可以定义成枚举类。
特点:私有的构造方法,这个类的实例对象都使用public static final修饰。
手动实现将一个普通类定义成枚举类:例如:季节,这个类一共有四个对象,春天夏天秋天冬天。
这个类的对象有限且固定。

当JDK1.5时增加了enum关键字,用于定义枚举类。正如我们上面的例子一样,枚举类也是一种类只不过比较特殊,它一样可以有自己的Field,方法,构造器。可以实现一个或者多个接口。
但是它与普通类的却别在于:
1,当使用enum关键字定义枚举类时,默认的继承了java.lang.Enum类,而不是继承Objec。其中java.lang.Enum实现了java.lang.Serializable和java.lang.Comparable类。
2,当使用enum关键字定义枚举类时,非抽象的枚举类会默认使用final修饰,因此这个枚举类不能派生子类。
3,构造方法必须私有化,如果省略访问修饰符,那么默认是private
4,枚举类的所有实例必须再枚举类的第一行列出来。系统会默认添加public sttic final修饰。
现在我们将上面的例子转变成用enum关键字定义的枚举类。

因为用enum关键字定义的枚举类继承了java.lang.Enum类,那么我们就可以使用Enum类中的方法。
int compareTo() 与指定对象比较顺序,如果该对象在指定对象之后返回正数,之前返回负数,否则返回0
String name() 返回枚举实例的名称。
int ordinal() 返回返回这个枚举实例,在枚举类的枚举值列表中的索引。  注意:第一个枚举值的索引为0
String toString() 作用于name方法相似,都是返回枚举值的名字,但这个方法更常用。
valueOf( name ) 这个方法是静态的,可以传入一个字符串找到这个枚举值的名字所对应的值。
values ()返回枚举类中的所有实例的数组。
实现接口的枚举类:

结果

带有抽象方法的枚举类:




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值