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