java枚举笔记

定义枚举

枚举使用关键字enum定义,枚举值一般使用大写字母,值之间用逗号隔开。例如定义一个颜色的枚举。

public enum  Color {
    YELLOW,RED,GREEN,BLACK
}

枚举使用

枚举可以像常量一样直接使用

Color color = Color.RED;

Enum的常用方法

枚举是继承自抽象类Enum的,类Enum中有如下几个常用方法

方法名 返回类型 说明
ordinal() int 返回枚举常量的序数,第一个为0,第二个为1,以此类推
compareTo(E o) int 返回该枚举的序数 - o的序数
getDeclaringClass() Class<?> 返回该枚举的Class类型
name() String 返回该枚举的名字
static valueOf(Class<T> enumType, String name) static<T extends Enum<T>> T 返回带指定名称的指定枚举类型的枚举常量

定制枚举

可以给枚举定制一些功能,比如可以给上述的颜色枚举增加一个颜色属性(当然也可以增加两个或多个)

public enum  Color {
    YELLOW("黄色"),RED("红色"),GREEN("绿色"),BLACK("黑色");
    private String desc;
    Color(String desc){
        this.desc = desc;
    }
}

这种属性是类似于类的构造函数,其中构造函数Color()必须是private。

和普通类的区别

大部分类的功能枚举都可以实现,比如定义属性和方法,实现接口,重写方法等。但枚举不能继承,因为编译器自动将我们定义的枚举类继承自Enum抽象类,而java是单继承,所以我们不能在使用自定义的枚举去继承。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,242评论 6 13
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,803评论 18 399
  • 123.继承 一个类可以从另外一个类继承方法,属性和其他特征。当一个类继承另外一个类时, 继承类叫子类, 被继承的...
    无沣阅读 1,450评论 2 4
  • 成功的人都是天才吗? 天赋的存在毋庸置疑,有或没有都不是判定成功与否的标准,亦不是我们不改变自己,不努力的借口。 ...
    贼矫情的女汉子阅读 250评论 0 1
  • 今天,不是母亲节,也不是母亲的生日,今天是520,一个与母亲没多大关联的节日!但我要在今天,情侣们相互表白,相互表...
    昕沫阅读 856评论 2 4