java的枚举

今天刷面试题的时候竟然没有了解过枚举,所以半夜爬起来做以下笔记用于完善java的学习之路
枚举类型的使用需求:
常量项需求:在系统中有一些变量他具有固定的取值范围,比如:学生类的性别属性,支付方式等等。如果只有用大量的常量来定义会出现以下问题:1.代码不够简介;2.不能很好的对数据进行分类。
于是需要使用枚举来解决问题:
枚举类型的介绍:java中对常量数据的配置可以使用枚举类型实现,枚举类型是面向对象中的一种类型,它也有对象、属性、方法等所以它非常方便定义,枚举类型将它的对象(实例)设置为常量方便读取和使用。
定义格式如下:

//定义类聚类要用关键字enum
public enum 枚举类名{
         枚举项1,枚举项2,枚举项3..;//全部大写
         构造方法//枚举类型构造方法是private
         成员变量
         成员方法
}

比如:

public enum weiXin{
        BILIBILI("bilibili","www.bilibili.tv"),
        BAIDU("baidu","www.baidu.com"),
        ZHIHU("zhihu","www.zhihu.com");
        private String name;
        private String url;

        weiXin(String name, String url) {
            this.name = name;
            this.url = url;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getUrl() {
            return url;
        }

        public void setUrl(String url) {
            this.url = url;
        }
    }

这个时候你可以随时在主函数中调用:
weiXin.ZHIHU.getName();//zhihu
说明如下:
1.每个枚举类型继承java.lang.Enum,所以枚举类不能再继承其他类型。
2.枚举项就是枚举类型的对象(实例),一般使用大写字母,一个枚举项表示一个常量项,多个枚举项中间用逗号分隔。
3.枚举类型的构造方法使用private私有。
4.通过“枚举类名.枚举项名称”去访问指定的枚举项。
枚举类型虽然不能继承其他类型但它可以实现一个或者多个接口,这个在生产使用中较多

你可能感兴趣的:(java)