java中的枚举

博客 分享
0 244
张三
张三 2022-03-06 23:56:14
悬赏:0 积分 收藏

java中的枚举

枚举的理解

  • 枚举是一组常量的集合,可以理解:枚举属于一种特殊的类,里面包含一组有限的特定对象

枚举定义的两种方式(自定义枚举和enum关键字枚举)

第一种枚举的自定义的实现步骤和注意事项

  • 不要提供Setxxx方法,因为枚举对象值通常为只读
  • 对枚举对象的属性使用:public+final+static修饰符
  • 枚举对象名通常使用全部大写,常量命名规范
  • 枚举对象根据需要,也可以有多个属性
  • 在本类的内部创建一组本类实例对象
  • 案例
    public class ad {    public static void main(String[] args) {        //打印枚举的单个对象实例        System.out.println(GRY.GREEN);    }        //自定义枚举    public static class GRY {        //创建多个枚举对象的实例        public final static GRY GREEN = new GRY("1","绿灯");        public final static GRY RED = new GRY("1","红灯");        public final static GRY YELLO = new GRY("1","黄灯");        private String type;    //类型        private String desc;    //描述        //构造器私有化        private GRY(String type, String desc) {            this.type = type;            this.desc = desc;        }                //只给getxx方法 不要set 方法,因为set方法可以修改        public String getType() {            return type;        }        public String getDesc() {            return desc;        }        @Override        public String toString() {            return  type + "\n"+ desc ;        }    }}

    Enum关键字定义枚举

  • 使用关键字enum来替代class
  • 用常量名.(实惨列表)在类内部的第一行来定义
  • 如果有多个常量(对象)中间用,号隔空
  • 如果使用enum来实现枚举,使用,号隔开
  • 举例
    class Weather {    public static void main(String[] args) {        //打印自定义枚举常量        System.out.println(Season.SPRING);        System.out.println(Season.WINTER);        System.out.println(Season.AUTUMN);        System.out.println(Season.SUMMER);    }    enum Season {        //如果使用 enum 来实现枚举,要求将定义常量对象,写在前面        // 如果我们使用的是无参构造器,创建常量对象,则可以省略 ()        SPRING("春天", "温暖"), WINTER("冬天", "寒冷"), AUTUMN("秋天", "凉爽"),        SUMMER("夏天", "炎热");        private String name;        private String desc;//描述        private Season() {//无参构造器        }        private Season(String name, String desc) {//有参构造器 并私有化            this.name = name;            this.desc = desc;        }        public String getName() {            return name;        }        public String getDesc() {            return desc;        }        @Override        public String toString() {            return  name + "\t" + desc ;        }    }}
  • enum关键字的注意事项
    • 当enum关键字开发一个枚举类时,默认会继承enum类,这个类是一个final类,不能再被继承
    • 如果我们使用是无参构造器,则可以直接写常量名,小括号可以省略
    • 枚举对象必须放在枚举的首行
    • 使用enum关键字后,不能使用其他类,因为enum会隐式继承Enum
    • 枚举类型对象之间的值比较式可以用==,直接比较不用equlas
posted @ 2022-03-06 23:36 平凡晨 阅读(0) 评论(0) 编辑 收藏 举报
回帖
    张三

    张三 (王者 段位)

    821 积分 (2)粉丝 (41)源码

     

    温馨提示

    亦奇源码

    最新会员