Java Eum类型的语法结构尽管和java类的语法不一样.docVIP

  • 29
  • 0
  • 约7.66万字
  • 约 11页
  • 2017-06-12 发布于河南
  • 举报

Java Eum类型的语法结构尽管和java类的语法不一样.doc

Java Eum类型的语法结构尽管和java类的语法不一样

Java Enum类型的语法结构尽管和java类的语法不一样,应该说差别比较大。但是经过编译器编译之后产生的是一个class文件。该class文件经过反编译可以看到实际上是生成了一个类,该类继承了java.lang.EnumE。 ? 例如: public enum WeekDay { Mon(Monday), Tue(Tuesday), Wed(Wednesday), Thu(Thursday), Fri( Friday), Sat(Saturday), Sun(Sunday); private final String day; private WeekDay(String day) { this.day = day; } public static void printDay(int i){ switch(i){ case 1: System.out.println(WeekDay.Mon); break; case 2: System.out.println(WeekDay.Tue);break; case 3: System.out.println(WeekDay.Wed);break; case 4: System.out.println(WeekDay.Thu);break; case 5: System.out.println(WeekDay.Fri);break; case 6: System.out.println(WeekDay.Sat);break; case 7: System.out.println(WeekDay.Sun);break; default:System.out.println(wrong number!); } } public String getDay() { return day; } } WeekDay经过反编译(javap WeekDay命令)之后得到的内容如下(去掉了汇编代码): public final class WeekDay extends java.lang.Enum{ public static final WeekDay Mon; public static final WeekDay Tue; public static final WeekDay Wed; public static final WeekDay Thu; public static final WeekDay Fri; public static final WeekDay Sat; public static final WeekDay Sun; static {}; public static void printDay(int); public java.lang.String getDay(); public static WeekDay[] values(); public static WeekDay valueOf(java.lang.String); } 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switch JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。 enum Signal { GREEN, YELLOW, RED } public class TrafficLight { Signal color = Signal.RED; public void change() { switch (color) { case RED: color = Signal.GREEN; break; case YELLOW: color = Signal.RED; break; case GREEN: color = Signal.YELLOW; break;

文档评论(0)

1亿VIP精品文档

相关文档