JavaSE复习_6 枚举类

Posted 大胡龙的小圈子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaSE复习_6 枚举类相关的知识,希望对你有一定的参考价值。

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

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

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 枚举类的主要内容,如果未能解决你的问题,请参考以下文章

18_JavaSE_接口和枚举类

JavaSE复习_7 异常

JAVASE知识点总结

JavaSE复习_5 Eclipse的常见操作

JavaSE_03_Thread类02

JavaSE复习总结多线程