public abstract class Enum<E extends Enum<E>> implements Comparable<E> 暂时忽略Constable和Serializable 那么,为什么会这样声明呢? 先抛弃java中的定义,咱们自己先定义一个Enum,看看在自定义过程中会发生什么。 第一版 public abstract class CustomEnum impleme
创建枚举类型要使用 enum 关键字,隐含了所创建的类型都是 java.lang.Enum 类的子类(java.lang.Enum 是一个抽象类)。枚举类型符合通用模式 Class Enum<E extends Enum<E>>,而 E 表示枚举类型的名称。枚举类型的每一个值都将映射到 protected Enum(String name, int ordinal) 构造函数中,在这里,每个值的名称...
}publicclassEnumOrdinalExample{publicstaticvoidmain(String[] args){Planetearth=Planet.EARTH; System.out.println("地球的索引是: "+ earth.ordinal()); } } valueOf() 方法 valueOf()方法可以根据枚举常量的名称返回对应的枚举常量 enumColor{ RED, GREEN, BLUE }publicclassEnumValueOfExample{publicstaticvo...
publicenumChildEnumextendsParentEnum{NEW_CONSTANT1,NEW_CONSTANT2;publicvoiddoSomething(){// 添加子枚举类的功能}} 1. 2. 3. 4. 5. 6. 7. 8. 上述代码创建了一个名为ChildEnum的子枚举类,并继承自父枚举类ParentEnum。子枚举类中定义了两个新的常量:NEW_CONSTANT1和NEW_CONSTANT2。此外,我们还添加了...
int, int, com.hmw.test.EnumTest); }所以,实际上 enum 就是一个 class,只不过 java 编译器帮我们做了语法的解析和编译而已。总结 可以把 enum 看成是一个普通的 class,它们都可以定义一些属性和方法,不同之处是:enum 不能使用 extends 关键字继承其他类,因为 enum 已经继承了 java.lang.Enum(java...
Enum<E>仅允许它的子类Color extends Enum<Color>去具现化它,并且Color继承了Enum<Color>中一些有用的方法,而这些方法是接收或返回Color类型的参数的。 public abstract class Enum<E extends Enum<E>> { ... } Enum类是Java内所有枚举类型的通用基础类。例如enum Color {}会被编译成class Color extends Enum...
一个类可以实现一个或多个接口,继承使用extends关键字,实现则使用implements关键字。一个类可以实现多个接口,这是Java为单继承灵活性不足所做的补充。一个类实现一个或多个接口之后,这个类必须完全实现这些接口里所定义的全部抽象方法(也就是重写这些抽象方法);否则,该类将保留从父接口那里继承到的抽象方法,该类也...
* * @param <E> 枚举类型的子类 * @see Class#getEnumConstants() * @see java.util.EnumSet * @see java.util.EnumMap * @since 1.5 */ public abstract class Enum<E extends Enum<E>> implements Comparable<E>, Serializable { /** * 此枚举常量在枚举声明中声明时的名称。 * 大多数程序员应该...
public class EnumValuesExample { public static void main(String[] args) { Weekday[] allWeekdays = Weekday.values(); for (Weekday weekday : allWeekdays) { System.out.println(weekday); } } } ordinal() 方法 ordinal()方法返回枚举常量在枚举类型中的索引,索引从0开始。
Day extends java.lang.Enum<com.javase.枚举类.Day> { public static final com.javase.枚举类.Day MONDAY; public static final com.javase.枚举类.Day TUESDAY; public static final com.javase.枚举类.Day FRIDAY; public static final com.javase.枚举类.Day SUNDAY; java.lang.String work; public ...