枚举与异常


枚举和注解

枚举类

创建Season对象有如下特点

  1. 季节的值是有限的几个值(spring , summer , fall , winter)
  2. 只读, 不需要修改

引出枚举类

自定义枚举类

class Season{
    private String name;
    private String desc;//描述
    //1.将构造器私有化, 目的防止 直接new
    //2.去掉setXxx方法, 防止属性被修改
    //3.在Season内部, 直接创建固定的对象
    //4.对外暴露对象(通过为对象添加public final static修饰符)
    
    //定义四个固定的对象
    public static Season SPRING = new Season("春天","温暖");
    public static Season WINTER = new Season("冬天","寒冷");
    public static Season FALL = new Season("秋天","凉爽");
    public static Season SUMMER = new Season("夏天","炎热");
}
//通常对枚举对象/属性使用final + static共同修饰,实现底层优化
  1. 枚举对象名通常使用全部大写
  2. 枚举对象根据需要, 可以有多个属性

enum关键字

enum Season{
    //1.使用关键 enum 替代 class
    //2. public static Season SPRING = new Season("春天","温暖"); 直接使用 SPRING("春天","温暖");   
    //常量名(实参列表)
    //3.如果有多个常量(对象), 使用 , 号间隔即可
    //4.如果使用enum来实现枚举, 要求将定义的常量对象,写在最前面
    SPRING("春天","温暖"), WINTER("冬天","寒冷");
    private String name;
    private String desc;//描述
}

enum类常用方法

img

enum细节

  1. 使用enum关键字开放一个枚举类时, 默认会继承Enum类, 而且是一个final类 (使用javap 可以证明)

  2. 如果使用无参构造器 创建 枚举对象, 则实参列表和小括号都可以省略’

  3. 枚举对象必须放在枚举类的首行

  4. 使用enum关键字后, 就不能再继承其他类了, 因为enum会隐式继承Enum, 而Java是单继承机制

  5. 枚举类和普通类一样, 可以实现接口

    enum 类名 implements 接口1, 接口2{}

foreach语句 - for循环补充

img

foreach执行流程是 : 依次从nums数组中取出数据, 赋给i, 如果取出完毕, 则退出for


文章作者: 冬瓜冬瓜排骨汤
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 冬瓜冬瓜排骨汤 !
  目录