🧑💻作者名称:DaenCode
🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。
😎人生感悟:尝尽人生百味,方知世间冷暖。
📖所属专栏:Java基础夯实
专栏推荐
- 专门为Redis入门打造的专栏,包含Redis基础知识、基础命令、五大数据类型实战场景、key删除策略、内存淘汰机制、持久化机制、哨兵模式、主从复制、分布式锁等等内容。
链接>>>>>>>>>
《Redis从头学》 - 专门为RabbitMQ入门打造的专栏,持续更新中。。。。。。。。
链接>>>>>>>
《图解RabbitMQ》
文章目录
- 专栏推荐
- 🌟介绍
- 🌟普通类
- 🌟自定义枚举类
- 🌟Enum枚举类
- 🌟总结
- 🌟写在最后
🌟介绍
- Enum关键字,是JavaSE5中添加的新特性。
- 它是这一种特殊的类,常量类。一组特定含义的常量类。
🌟普通类
特点:
- 构造器公有化。
- 可以使用setter方法设置属性值。
- 可以使用getter方法获取属性值。
背景:在平常创建具有特殊含义的类时,比如季节类。它只有春夏秋冬四个属性值,而如果有人通过Season创建了一个unknown季节呢?这样设计类显然很不符合规范,于是便有了枚举类。
Class Season{
private String name;
private String description;
//getter\setter
//constructor
}
main方法:
Season s=new Season("春","....");
Season s=new Season("夏","....");
Season s=new Season("秋","....");
Season s=new Season("冬","....");
Season s=new Season("unnow","....");
🌟自定义枚举类
特点:
- 构造器私有化。防止外部创建对象。
- 只读。只能获取属性值,而无法修改属性值。
- 跟普通类一样,可以创建多个属性包括方法。
class Season{
private static final SPRING=new Season("春","");
private static final SPRING=new Season("夏","");
private static final SPRING=new Season("秋","");
private static final SPRING=new Season("冬","");
//私有化构造器
private String name;
private String description;
//getter方法。
}
🌟Enum枚举类
特点:
- 枚举类构造器私有化。
- 属性只读。只能创建getter方法。
- 使用时无需实例化。
- 是常量类,不能被继承。
- 继承自java.lang.Enum。
- 具有隐藏属性values获取所有枚举值。
- 具有隐藏方法valuesOf();
public enum BizCodeEnum {
/**
* 通用操作码
*/
OPS_REPEAT(110001,"重复操作"),
/**
*验证码
*/
CODE_TO_ERROR(240001,"接收号码不合规"),
CODE_LIMITED(240002,"验证码发送过快"),
CODE_ERROR(240003,"验证码错误"),
CODE_CAPTCHA(240101,"图形验证码错误"),
/**
* 账号
*/
ACCOUNT_REPEAT(250001,"账号已经存在"),
ACCOUNT_UNREGISTER(250002,"账号不存在"),
ACCOUNT_PWD_ERROR(250003,"账号或者密码错误");
@Getter
private String message;
@Getter
private int code;
private BizCodeEnum(int code,String message){
this.code=code;
this.message=message;
}
}
🌟总结
枚举类是 Java 中一种特殊的类,用于表示一组固定的常量。与普通类相比,枚举类有以下几个特点:
- 构造器私有化:枚举类的构造器被私有化,防止外部代码创建对象。
- 属性只读:枚举类的属性通常使用
private final
修饰,外部只能获取属性值,无法修改。 - 无需实例化:枚举类的常量在使用时无需进行实例化,可以直接通过类名访问。
- 常量类:枚举类是一种常量类,定义的常量是该类的实例。
- 不可继承:枚举类不能被继承,它继承自
java.lang.Enum
类。 - 内置方法:枚举类提供了一些内置方法,如
values()
获取所有枚举值的数组,valueOf()
根据常量名称获取对应的枚举值。
枚举类的优点在于它可以提供更安全和更易读的代码。通过使用枚举类来表示一组固定的常量,可以避免使用硬编码的常量,在代码中使用枚举值可以增加代码的可读性和可维护性。此外,枚举类还能够与 switch 语句结合使用,提高代码的可读性。
总之,枚举类是一种特殊的常量类,它在 Java 中用于表示一组固定的常量,提供了更安全和更易读的代码编写方式。
🌟写在最后
有关于枚举类回炉重造到此就结束了。感谢大家的阅读,希望大家在评论区对此部分内容散发讨论,便于学到更多的知识。