Java学习之枚举------Enum

枚举类

  1. 枚举是一种引用数据类型;
  2. 枚举类的对象是有限且固定的;
  3. 可以在枚举类中直接列举对象;
  4. 枚举的属性是默认用public static final 修饰的;
  5. 构造方法是用private修饰的;
  6. 枚举类默认继承Enum类,间接继承Object类;
  7. 自己定义的枚举类不能extends别的类,但是可以implements别的类;
    补充
      Enum类的一些常用方法:
      name() 返回的是对象的名字;
      ordinary()返回的是枚举对象在类中罗列的顺序,从0开始,类似于index;
      valueOf(String name)返回对应name的枚举对象;
      values()获取全部枚举对象,返回的是一个数组;
      compareTo()比较两个枚举对象的大小,若返回整数,则前者大;若返回负数,则后者大;若返回0 ,则两者相等;
      toString()这个方法不是用final修饰的,所以可以在自己定义的类中重写;
public enum  EnumWeek {
    Monday("星期一"),Tuesday("星期二"),Wednesday("星期三"),Thursday("星期四"),Friday("星期五"),Saturday("星期六"),Sunday("星期日");
    private String date;
    EnumWeek(String date) {
        this.date = date;
    }
}

上面一段代码就是一个枚举类,可以看出,枚举类的里面只存放一些给定的常量值;

public static void main(String[] args) {
        System.out.println(EnumWeek.Friday.compareTo(EnumWeek.Saturday));
        //如果枚举类中 Friday在Saturday的前面,则返回负数
        //如果枚举类中 Saturday在Friday的前面,则返回正数
        //如果两个位置一样 两个枚举对象是同一个对象,那么返回0
    }

下面是打印结果
在这里插入图片描述

System.out.println(EnumWeek.Friday.name());

打印结果如下:
在这里插入图片描述

EnumWeek[] values = EnumWeek.values();
        for (EnumWeek value : values) {
            System.out.println(value.toString());
        }

打印结果如下:
在这里插入图片描述

System.out.println(EnumWeek.valueOf("Friday"));

打印结果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_40791843/article/details/91874313