17.03.04 枚举

作用:改变以往定义常量的方式(往常的方法是将常量定义在接口中,并被修饰位statici、final),可以保证数据类型的安全(比如设定一个方法,其参数为枚举名,那么这个方法只接受枚举中的常量,否则报错)。

 

一、构造方法

         关键字enum,定义方法如下:

         Publicenum Constants{

                   常量1,

                   常量2,

                   ……

                   常量n

         }

         注意:

(1)      常量之间用逗号隔开(不是分号),最后一个常量无逗号。

(2)      可以在类中定义

(3)      枚举类,类似一个类(和类唯一不同的就是,不能继承其它类,因为在创建的时候就已经继承某个类了;甚至可以有main方法),每个枚举成员可看作是枚举类的实例

 

二、枚举类的常用操作方法

        

方法名称

具体含义

使用方法

values()

将枚举成员以数组形式返回

枚举类型名称.values()

valueOf()

返回枚举常量,参数必须为枚举实例的名称

枚举类型名称.valuesOf(枚举实例名称)

compareTo()

比较两个对象定义的先后顺序

枚举实例.compareTo(枚举实例)

ordinal()

该方法用于得到枚举成员的位置索引

枚举实例.ordinal()

getDeclaringClass()

获取枚举类名

枚举实例.getDeclaringClass()

name()

与toString效果一样

枚举实例.name()

toString()

将枚举实例标示符转为字符串

枚举实例.toString()

 

三、枚举类型中的构造方法

         枚举类中可以使用构造方法,但必须修饰位private

         如果要向枚举类添加方法,最后一个枚举实例后面必须加“;”号

         枚举类,必须先定义实例,再定义方法,如果先定义方法,会报错

         例如:

      

   enum Constant {
                   constant_a(“我是第一个枚举”),
                   constant_b(”我是第二个枚举);
                   Stringdescription;
                   PrivateConstant(String des) {
                            this.description=des;
                   }
                   Privategetdescription() {
                            Returndescription;
                   }
         }

 

         如此,通过constant_a.getdescription就可以获取cconstan_a的描述了

 

四、其它技巧

         (1)将静态枚举导入类中

         格式:importstatic 包名.枚举类名.*       // “*”不可省略

         功能:在类中静态导入枚举类,那么枚举实例的标识符便被导入当前的命名空间,如果类中的方法参数为枚举实例,则使用该方法时,可以直接使用枚举实例标识符作为参数,而可以不用“枚举类名.枚举实例名”作为参数

         在开关语句中的case后面,无需导入,也可以不用“枚举类名.枚举实例名”作为参数,直接用枚举实例名即可

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值