当前位置:首页 > 全部子站 > IT > 思科认证

JavaSE5中的枚举类型的使用方法

来源:长理培训发布时间:2017-12-23 16:47:11

 百度广告

  Java SE 5之前,Java程序员在需要使用枚举类型时,必须了解很多细节并需要格外仔细,以正确地产生enum的效果。  
Java中定义一个枚举类型,  
/** *//**  
 * @author autumn  
public enum Rmb ...{  
  * 壹角  
  YIJIAO, 

  /** *//**  
  */  

  /** *//**  
  */  

  /** *//**  
  */  

  /** *//**  
  */  

  /** *//**  
  */  

  /** *//**  
  */  

这里创建了一个名为Rmb的枚举类型,它具有7个实例(值)。  
public class Card ...{  
    SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING, ACE } 

  public enum Suit ...{ CLUBS, DIAMONDS, HEARTS, SPADES } 

  private final Rank rank;  
  private Card(Rank rank, Suit suit) ...{  
    this.suit = suit;  

  public Rank rank() ...{ return rank; }  
  public String toString() ...{ return rank + " of " + suit; }  
枚举类型的实例是常量(public static final),因此按命名惯例,它们都用大写字母表示。  
Rmb aRMB = Rmb.YIBAIYUAN;  
有关enum类的方法,大家可以自行查看API文档。  
//EnumTest.java 

/** *//**  
 * @author autumn  
public class EnumTest ...{ 

  public static void main(String args) ...{  
  descRmb(aRmb);  

  /** *//**  
  * @param aRMB Rmb类型的值  
  public static void descRmb(Rmb aRMB) ...{  
   case YIJIAO:  
    break;  
    System.out.println("这是一张伍角的人民币。");  
   case YIYUAN:  
    break;  
    System.out.println("这是一张伍圆的人民币。");  
   case SHIYUAN:  
    break;  
    System.out.println("这是一张伍拾圆的人民币。");  
   case YIBAIYUAN:  
    break;  
    System.out.println("好像没有这个面值的人民币吧。。。");  
  }  


在Java SE 5之前,你必须花费大量的精力去保证与其等价的枚举类型是安全可用的,而现在,我们可以使用enum关键字类来创建枚举类型,然后直接使用所得到的类型,而不用过多地考虑它们。  
~我们可以在enum中添加新方法,甚至可以有main()方法。(如果要添加自己的方法,必须在enum实例序列的最后添加一个分号,而且,方法或属性只能定义在enum实例之后。)  
~由于Java不支持多继承,编译器为我们创建的enum类已经继承了java.lang.Enum类,所以我们定义的enum不能再继承其他任何类。  
~还有很多枚举类型的特性,它可以跟多态、泛型、反射等特性结合使用。 

责编:罗莉

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部