Java之枚举类

Java之枚举

枚举类的格式:

pbulic enum 枚举类类名{
    枚举对象1(实参),枚举对象1(实参)...;
    属性名;
    (无参/有参)构造器;
    get方法;
}

枚举类中不建议使用set方法,因为每个枚举对象都被public static final修饰,当用set方法进行赋值的时候,实际上是修改内存中静态变量的值,这个值原本的意义就被修改了,这个时候如果其它地方再来判断,必然出错。

eg:


public enum EnumDemo {
    SUCCESS(001,"消息传递成功"),
    FAILED(002,"消息传递失败");

    private Integer code;
    private String message;

    private EnumDemo(Integer code,String message){
        this.code = code;
        this.message = message;
    }

    public Integer getCode(){
        return code;
    }
    public String getMessage(){
        return message;
    }
}

使用Lambok快速开发枚举类

@Getter
@AllArgsConstructor
public enum EnumDemo2{
    SUCCESS(001,"消息传递成功"),
    FAILED(002,"消息传递失败");
    private Integer code;
    private String message;
}

枚举类注意事项:

枚举类无法通过new进行实例化对象的创建,否者汇编报错。

当枚举类没有任何构造器的时候,Jvm的编译器会提供一个pravite的无参构造器供其使用。有的话,就不会提供。

枚举类的构造器只能被private进行修饰,如果没有,且也不是“缺省”,JVM的编译器会自动补全。

枚举类中的构造器无法使用super(实参)。

枚举类中的枚举对象隐式被 public static final 关键字修饰,如果显示修饰,编译报错。

枚举对象必须写在枚举类的第一行,否者编译报错。

枚举对象如果使用无参构造器进行对象的初始化,枚举对象后面的()可以不写。

所有的枚举类都隐式继承Enum类。

所有的枚举类都无法继承其它类,因为唯一单继承机会给了Enum类。

所有的枚举类都可以实现多个接口。

所有的枚举类都不可以被其它类进行继承。

posted @   joudys  阅读(123)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示