java中的枚举

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

以上是 java中的枚举 的全部内容, 来源链接: utcz.com/z/393907.html

回到顶部