javase0类型安全的枚举.docxVIP

  • 3
  • 0
  • 约4.12千字
  • 约 6页
  • 2019-08-17 发布于江苏
  • 举报
PAGE / NUMPAGES Java SE 059 类型安全的枚举 JDK1.5加入了一个全新的类型“类”——枚举类型。为此JDK1.5引入了一个新关键字 enum.我们可以这样来定义一个枚举类型。 public enum Color{ Red, White, Blue } 然后可以这样来使用: Color myColor = Color.Red. package com.javase.enums。 public enum Color { Red,White,Blue } package com.javase.enums。 public class ColorTest { public static void main(String[] args) { Color color = Color.Red。 System.out.println(color)。 } } 枚举类型还提供了两个非常有用的静态方法,values()和valueOf()。我们可以很方便地使用它们:例如 for(Color c : Color.values()){ System.out.println(c)。 } package com.javase.enums。 public class ColorTest { public static void main(String[] args) { Color color = Color.Red。 System.out.println(color)。 System.out.println()。 for(Color c : Color.values()){ System.out.println(c)。 } } } 遍历时,是按照定义枚举变量的顺序进行输出的。 2、枚举的应用 package com.javase.enums。 public class EnumTest { public static void doOp(OpConstant opContant){ //switch 语句后面可以跟五种数据类型 char byte short int 枚举 switch(opContant){ case TURN_LEFT: System.out.println(向左转)。 break。 case TURN_RIGHT: System.out.println(向右转)。 break。 case SHOOT: System.out.println(射击)。 break。 } } public static void main(String[] args) { doOp(OpConstant.TURN_RIGHT)。 } } /** * 操作变量 */ enum OpConstant{ TURN_LEFT,TURN_RIGHT,SHOOT。 } 3、定义枚举 我们在定义枚举的时候,本质上就是定义一个类别,只不过很多细节由编译器帮您完成了,所以某些程度上,enum关键字的作用就像class或interface. package com.javase.enums。 public enum Coin { penny(hello),nickel(world),dime(welcome),quarter(hello world)。 private String value。 public String getValue(){ return value。 } Coin(String value){ this.value = value。 } public static void main(String[] args) { Coin coin = Coin.quarter。 System.out.println(coin.getValue())。 } } 当您使用“enum”定义一个枚举类型时,实质上您定义出来的类型继承自java.lang.Enum类型,而每个枚举的成员(如nickel(world))其实就是您定义的枚举类型的一个实例(Instance),他们都被预设为final,所以您无法改变他们,他们也是static成员,所以您可以通过类型名称直接使用他们,当然最重要的,它们都是公开的(public)。 总结: 我们定义的每个枚举类型都继承自java.lang.Enum类,枚举中的每个成员默认都是public static final的。 package com.javase.enums。 public enum Color { Re

文档评论(0)

1亿VIP精品文档

相关文档