疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java中switch语句可以作用在enum上的测试


 

      enum是java中的枚举,其实枚举是一个常量,枚举就是定义枚举类的一个实例。

  定义枚举的时候,应该注意一下几个问题:

  其构造方法应该是private 的,为什么呢?根据我的理解,应为枚举是个常量,枚举的意思就是有限的可以列举的几个选项,如果其构造方法可以是public的,那么就违背了枚举的初衷,所以,枚举的构造方法是private的

  另外,枚举的选项都应该是枚举的第一行出现

  详见示例:

  [java] view plaincopy

  package com.luzhiming.test_6_11;

  /**

  * @author 鲁志明 E-mail: 13688601037@139.com

  * @version 创建时间:2013-6-11 下午10:50:34

  *

  */

  public enum MyEnum

  {

  ZHANGSAN(1,"zhansang"),LISI(2,"lisi"),WANGWU(3,"wangwu");

  private MyEnum(int age , String name)

  {

  this.age = age ;

  this.name = name;

  }

  private int age;

  private String name;

  public int getAge() {

  return age;

  }

  public void setAge(int age) {

  this.age = age;

  }

  public String getName() {

  return name;

  }

  public void setName(String name) {

  this.name = name;

  }

  }

  swith语句能够作用在byte,short,char上面,因为这些数据类型都可以隐含的转换为int类型,另外switch还可以作用在枚举常量上面。

  示例:

  [java] view plaincopy

  package com.luzhiming.test_6_11;

  public class Page9Number5 {

  public static void useEnum(MyEnum enumType)

  {

  switch(enumType)

  {

  case LISI:

  System.out.println("LISI的名字是:"+ enumType.getName());

  return;

  case WANGWU:

  System.out.println("WANGWU的名字是:" + MyEnum.WANGWU.getName());

  return;

  default:

  System.out.println("this is default");

  return;

  }

  }

  public static void main(String[] args) {

  useEnum(MyEnum.LISI);

  useEnum(MyEnum.WANGWU);

  // 运行 default 语句

  useEnum(MyEnum.ZHANGSAN);

  }

  }