主页 > 人工智能  > 

枚举类型Enum

枚举类型Enum
枚举类Enum what:

首先他是个类 特殊的类 不过是

原版:

public enum A { X,Y,Z; }

反编译字节码:

public final class A extends java.lang.Enum<A>{ public static final A X = new A(); //修饰变量 public static final A Y = new A(); public static final A Z = new A(); public static A[] values(); public static A valueOf(java.lang.String) } //十分特殊 是个final class:阻止类被继承 类的行为不会被更改 //类A 继承了Enum属性 并且还给Enum类 类型参数 //java.lang 是 Java 编程语言里一个极为关键的包,它默认会被每个 Java 程序自动导入,无需显式地使用 import 语句来引入 public final class A extends javalangEnum<A>{ } /* public static final A X = new A(); public static final A Y = new A(); public static final A Z = new A(); analys: X Y Z 是A类实例化 A是public final class 不可继承类 static: what: 表示变量属于该类本身可以随时访问 static 修饰内部类 public: what: 表示只要能访问到该变量的类 就能访问该变量 1.使用static变量 不用实例化对于public的变量也可以直接访问, 2.对于不是static的变量必须实例化进行访问 final: what: 修饰变量:表示变量不可以被改变 修饰类:类无法被继承重写方法over combinition: public static: what: 修饰变量/内部类:公共 属于该类的变量 public final: what: 公共的 无法被修改的 public static final: 公共的 属于该类的静态内部类 无法被修改 public static final A X = new A(); summarize the analysis: 内部类 公共的 属于A类的静态类 无法被改变的X 这些 X Y Z 只属于A 并且创造的 X Y Z 不会创建 新的X Y Z因为 X Y Z 是静态的始终属于A public static A[] values(); analysis: Weekday[] allWeekdays = Weekday.values(); Weekday.values() 返回一个包含 MONDAY 到 SUNDAY 所有枚举实例的数组 example: enum Weekday { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY; } public class Main { public static void main(String[] args) { // 调用 values() 方法获取枚举实例数组 Weekday[] allWeekdays = Weekday.values(); for (Weekday weekday : allWeekdays) { System.out.println(weekday); } } } public static A valueOf(java.lang.String) analysis: Weekday weekday = Weekday.valueOf(input); input = 输入 字符串 "MONDAY" 返回枚举类型 枚举类型MONDAY 枚举类型MONDAY 是A类 有自己的方法 可以输入自己做出操作 example: enum Weekday { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY; public void performTask() { switch (this) { case MONDAY: System.out.println("开始新一周的工作,整理本周计划"); break; case TUESDAY: System.out.println("参加团队会议,汇报工作进展"); break; // 其他星期的任务... default: break; } } } import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入星期名称(如 MONDAY):"); String input = scanner.nextLine(); try { Weekday weekday = Weekday.valueOf(input); weekday.performTask(); } catch (IllegalArgumentException e) { System.out.println("输入的星期名称无效,请重新输入。"); } scanner.close(); } }
标签:

枚举类型Enum由讯客互联人工智能栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“枚举类型Enum