Java基础--枚举类

╰+攻爆jí腚メ 2022-07-15 00:37 423阅读 0赞

枚举类:

  1. JDK1.5以后新增了enum关键字,用来定义枚举类,枚举类是一种特殊的类,
  2. 它可以定义成员变量,方法,可以实现一个或者多个接口,也可以定义自己的构造器
  3. 它不能继承具体的类,和抽象类,但是可以实现接口,(多实现接口)
  4. 它不能直接实例化对象,必须通过valueof实现具体的对象
  5. 它有成员变量。和成员方法。
  6. 它的父亲是:Enum 而不是Object

DemoEnum类

  1. package test.fanxing;
  2. public enum DemoEnum {
  3. MON(0), TUE(1), WED(2), THU(3), FRI(4), SAT(5), SUN(6);
  4. private int value;
  5. private DemoEnum(int value) {
  6. this.value = value;
  7. }
  8. public int getValue() {
  9. return value;
  10. }
  11. }

TestEnum类

  1. package test.fanxing;
  2. public class TestEnum {
  3. public static void main(String[] args) {
  4. // 遍历enum
  5. for (DemoEnum s : DemoEnum.values()) {
  6. System.out.println(s);
  7. }
  8. System.out.println("----------");
  9. DemoEnum demoEnum = DemoEnum.MON;
  10. switch (demoEnum) {
  11. case MON:
  12. System.out.println("今天星期一");
  13. break;
  14. case TUE:
  15. System.out.println("今天星期二");
  16. break;
  17. default:
  18. break;
  19. }
  20. System.out.println("---------------");
  21. System.out.println("DemoEnum.FRI 的value = " + DemoEnum.FRI.getValue());
  22. System.out.println("-----------常用方法--------------");
  23. /**
  24. * int compareTo(E o) 比较此枚举与指定对象的顺序。 Class<E> getDeclaringClass()
  25. * 返回与此枚举常量的枚举类型相对应的 Class 对象。 String name() 返回此枚举常量的名称,在其枚举声明中对其进行声明。
  26. * int ordinal() 返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。 String toString()
  27. * 返回枚举常量的名称,它包含在声明中。 static <T extends Enum<T>> T valueOf(Class
  28. * <T> enumType, String name) 返回带指定名称的指定枚举类型的枚举常量。
  29. */
  30. DemoEnum demoEnum2 = DemoEnum.TUE;
  31. switch (demoEnum2.compareTo(DemoEnum.MON)) {
  32. case -1:
  33. System.out.println("TUE 在 MON 之前");
  34. break;
  35. case 1:
  36. System.out.println("TUE 在 MON 之后");
  37. break;
  38. default:
  39. System.out.println("TUE 与 MON 在同一位置");
  40. break;
  41. }
  42. System.out.println("getDeclaringClass(): " + demoEnum2.getDeclaringClass().getName());
  43. System.out.println("name(): " + demoEnum2.name());
  44. System.out.println("ordinal(): " + DemoEnum.TUE.ordinal());
  45. }
  46. }

结果:

  1. MON
  2. TUE
  3. WED
  4. THU
  5. FRI
  6. SAT
  7. SUN
  8. ----------
  9. 今天星期一
  10. ---------------
  11. DemoEnum.FRI value = 4
  12. -----------常用方法--------------
  13. TUE MON 之后
  14. getDeclaringClass(): test.fanxing.DemoEnum
  15. name(): TUE
  16. ordinal(): 1

发表评论

表情:
评论列表 (有 0 条评论,423人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java基础

    枚举 1、枚举是一种引用数据类型。 2、枚举编译之后也是class文件。 3、枚举类型怎么定义? enum 枚举类型名{ 枚举

    相关 java基础

    定义 在某些情况下,一个类的对象是有限而且固定的,比如季节类,它只有4个对象;再比如行星类,目前只有8个对象。这种实例有限而且固定的类,在Java里被称为枚举类。 Ja

    相关 Java基础--

    枚举类: JDK1.5以后新增了enum关键字,用来定义枚举类,枚举类是一种特殊的类, 它可以定义成员变量,方法,可以实现一个或者多个接口,也可以定义自己的构

    相关 java--

    枚举类 枚举类里面写的是对象,你也可以在下面写上成员方法或变量,这里面的对象可以调用这些方法,也可以说枚举类是用来存放固定个数的对象的。 > 格式: > > publ