模拟“枚举”的旧方法:
public static final int TOM = 1;
public static final int JERRY = 1;
public static final int REX = 1;
新品上市:
public enum Names {
BOBBY, BILLY, SOFFIE
}
那么有什么区别呢?为什么枚举是“枚举”?
模拟“枚举”的旧方法:
public static final int TOM = 1;
public static final int JERRY = 1;
public static final int REX = 1;
新品上市:
public enum Names {
BOBBY, BILLY, SOFFIE
}
那么有什么区别呢?为什么枚举是“枚举”?
描述
enum
本质上是一个类的描述,同时也是该类的一组固定的命名对象。这个类的对象可以具有普通对象的所有属性——构造函数、字段、方法。构造函数可以初始化这些对象的内部状态,字段可以存储它们的状态,包括对一些或多/少复杂对象的引用,方法可以实现一些功能。所以枚举不仅仅是可以在语句中使用的一组值
switch
,它们的可能性要多得多。例如,使用枚举,您可以描述一组 GUI 命令 - 每个命令都可以有一个状态(启用/禁用)、菜单中显示的文本以及根据状态、工具提示文本、指向执行命令等。另一个例子是对表格列的描述,包括关于列宽、如何格式化该列中的数据等信息,或者确定应用程序行为的参数。
是的,通常情况下,当预先知道某种类型的不同对象的数量时,可以有许多不同的应用程序。正确使用枚举可以极大地改进应用程序的设计。因此,将它们用作命名常量与它们的主要用途相去甚远。这是您可以使用枚举做什么的临时示例: