从jdk1.5之后程序之中提供了enum的关键字,此关键字可以实现枚举的定义。
枚举属于一种多例设计模式,那么既然是多例设计模式,那么在一个类之中可以定义的结构是非常多的:列如:构造方法、普通方法、属性等,那么这些内容在枚举类中依然可以直接定义,但是需要注意的是:枚举类中定义的构造方法不能够采用非私有化定义(public 无法使用)。
Enum类与enum关键字
* 使用enum关键字定义的枚举类,实际上就相当于定义了一个类,此类继承了Enum类而已
* protected Enum(String name,int ordinal)此构造方法不能被外部直接调用,只能被其子类访问,此构造方法为自动调用
* public final String name() 枚举的名字
* public final int ordinal() 枚举的序号
* JDK1.5之后,对于Set和Map接口而言又增加了两个新的子类:EnumSet、EnumMap两个类
枚举类的第一行上必须是枚举项,最后一个枚举项后的分号是可以省略的,但是如果枚举类有其他的东西,这个分号就不能省略。建议不要省略。
枚举类可以有构造器,但必须是private的,它默认的也是private的。
枚举类也可以有抽象方法,但是枚举项必须重写该方法。
枚举在switch语句中的使用
枚举类的常见方法:
int ordinal()获取编号
int compareTo(E o)比较编号
String name()获取实例名称
String toString()重写toString后
<T> T valueOf(Class<T> type,String name)
values() 遍历枚举类的所有枚举值
public class Season {private static final Season spring = new Season("春天", "春雨绵绵");private static final Season summer =
本文发布于:2024-02-04 12:47:26,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170707596255707.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |