枚举类

Java之枚举类
定义:某些情况下,一个类的对象是有限且固定的,例如季节只有四个,一年只有12个月;
1.手动实现枚举类
设计方式:
1)构造器用private修饰
2)类中所有实例都用public static final修饰
在这里插入图片描述

2.enum关键字
J2SE1.5新增了enum关键字,用来定义枚举类。
枚举类是一种特殊的类,它可以有自己的方法和属性,可以实现一个或多个接口,也可以定义自己的构造器。
一个Java源文件中最多只能定义一个public修饰的枚举类,并且源文件必须和枚举类类名相同。

特点:
1.枚举类可以实现一个或多个接口,用enum定义的枚举类默认继承Enum类而不是Object类。
2.构造器只能用private修饰,不加的话系统默认private。
3.所有实例必修显示列出,这些实例系统默认public static final修饰。
4.所有枚举类都提供了values方法,可以很方便的遍历所有枚举值。
定义一个枚举类:

在这里插入图片描述

调用该枚举类的某个实例:

SeasonEnum.SPRING;

switch语句里的表达式可以是枚举值
switch表达式可以是枚举类对象

在这里插入图片描述
输出结果:
在这里插入图片描述
所有枚举类都继承了Enum类,所以都可以使用Enum的方法:

int compareTo(E o):与指定枚举对象比较顺序,只能与同类型的枚举实例比较,如果该枚举对象位于指定枚举对象后面,返回正整数,在指定之前,返回负整数,相等返回0。

String name():返回此枚举实例的名称。

int ordinal():返回枚举值在枚举类中的索引值,即在枚举声明中的位置,第一个索引值为0.

String toString():返回枚举常量名称。

public static <T extends Enum< T >>T valueOf(Class< T >enumType,Strng name):返回指定枚举类中的指定名称的枚举值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值