JAVA从小白到大牛(15)--------枚举类

    xiaoxiao2022-07-14  150

    15.1 枚举概述

    需要定义一组相关常量,为了提高程序可读性,可以把一组常量放置在一起,由统一的一个类型管理,

    这个类型就是枚举类型(Java5之前没有)

     

     

    不用枚举类型时:

     

    使用一组常量的缺点是:

         1. 类型不安全

               

         2. 程序调试不方便

     

    Java5之后 枚举类型的特点

         1. Java枚举类型是一种类,是引用类型,具 有了面向对象特性,可以添加方法和成员变量等

         2. Java枚举类型父类是 java.lang.Enum,不需要显式声明

         3. Java枚举类型可以实现接口,与类实现接口类似

         4. Java枚举类型不能被继承,不存在子类

         

     

    15.2 枚举类声明

    声明枚举类型语法:

    [public] enum 枚举名{

           枚举常量列表

    }

    访问控制级别有两种:public公有的,默认的

     

    15.2.1 最简单形式的枚举类

    这里就限制了 day只能是枚举类中的值,不会出现非法赋值

     

     

    15.2.2 枚举类中成员变量和成员方法

    静态或者实例成员变量,也可以有静态或实例的方法,但不能有抽象方法

     

     

     

     

    15.2.3 枚举类构造方法

    枚举类型中的构造方法是 私有的

     

    在外部不可见,目的就是为了防止在外部实例化

     

    有了构造方法,内部实例化语句也要随之改变

     

    调用 toString()之后

     

    15.3 枚举常用方法

    1. int ordinal():

        返回枚举常量的顺序。这个顺序根据枚举常量声明的顺序而定,顺序从零开始

    2. 枚举类型[] values():

        静态方法,返回一个包含全部枚举常量的数组

    3. 枚举类型 valuesOf(String str):

         静态方法,str是枚举常量对应的字符串,返回 一个包含枚举类型

     

     

    枚举类型比较时。equals() 和 == 一样,由于枚举类型中的常量值永远只有一个实例,

    从这一点看,枚举类型采用的是单例设计模式

    java.lang.Enum()类   源码

    最新回复(0)