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类。
所有的枚举类都可以实现多个接口。
所有的枚举类都不可以被其它类进行继承。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)