码迷,mamicode.com
首页 > 编程语言 > 详细

JavaSE复习_6 枚举类

时间:2016-06-11 23:02:55      阅读:367      评论:0      收藏:0      [点我收藏+]

标签:

△单例类是指只有一个实例,而枚举类实际上就是有有限个实例的类,在类里已经把实例定义好了。

△枚举类的三种创建形式:

1)

     enum Week {    

          MON,TUE,WED;//枚举类有默认构造函数创建的三个实例}
              }

2)

enum Week {

     MON("星期一"), TUE( "星期二"),WED ("星期三" );      //具有参数的构造函数

     private String name;

     Week(String name) {

            this. name= name;

     }

}

3)

enum Week {

     MON("星期一") {

            public void show() {                             //采用枚举类的匿名子类

                System. out.println( "星期一到啦!" );

           }

     },TUE("星期二"){

            public void show() {

                System. out.println( "星期二到啦!" );

           }

     },WED("星期三") {

            public void show() {

                System. out.println( "星期三到啦!" );

           }

     };          //具有参数的构造函数

     private String name;

     Week(String name) {

            this. name= name;

     }

     public abstract void show();     //具有抽象方法
}
△枚举类的注意事项:
* 定义枚举类要用关键字enum
    * 所有枚举类都是Enum的子类
    * 枚举类的第一行上必须是枚举项,最后一个枚举项后的分号是可以省略的,但是如果枚举类有其他的东西,这个分号就不能省略。建议不要省略
    * 枚举类可以有构造器,但必须是private的,它默认的也是private的。
    * 枚举类也可以有抽象方法,但是枚举项必须重写该方法
    * 枚举在switch语句中的使用:可以对枚举类的成员进行枚举,case里直接写成员变量名即可,使用方法如下:
 public class Demo {
     public static void main(String[] args) {
           Name name=Name. xuanyunyun;
            switch( name) {
            case xuanyunyun:
                System. out.println( "我是宣云云" );
                 break;
            case hulonghai:
                System. out.println( "我是胡龙海" );
                 break;
            case xieran:
                System. out.println( "我是谢冉");
                 break;
           }
     }
}
enum Name{
     xuanyunyun, hulonghai, xieran;
}
*可以根据输入获取相应的枚举常量名获取枚举对象,采用的是枚举的valueOf方法
     static Enum valueOf(Class enumclass,String name):返回指定名字给定类的枚举常量

 

JavaSE复习_6 枚举类

标签:

原文地址:http://www.cnblogs.com/hlhdidi/p/5576052.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!