18个枚举要点
前言
今天博主将为大家分享Java系列(三):Java 开发者需要了解的18个枚举要点,不喜勿喷,如有异议欢迎讨论!
有一个强大的地基才能写出健壮的程序!
十八弯:
- 尽管声明带大写字母的枚举常量不是强制性的,但最好的做法是这样做。
- 枚举类型与类一样,可以包含字段,构造函数和方法以及枚举常量。
- 枚举构造函数默认是私有的。枚举类型中只允许使用私有构造函数。这就是为什么你不能使用new运算符实例化枚举类型。
- 枚举常量仅为整个执行创建一次。当您最初在代码中引用枚举常量时,将创建所有枚举常量。在创建每个枚举常量时,将调用相应的构造函数。
- 枚举常量必须在字段、构造函数和方法(如果有的话)之前声明。
- 默认情况下,所有枚举类型都扩展 java.lang.Enum 类。由于 Java 不支持多重继承,因此它们无法扩展到任何其他类。
- 枚举类型可以实现任意数量的接口。
- 枚举常量可以有自己的主体,称为 Constant Specific Body。在该主体中,您可以定义字段和方法。但是,这些方法和字段在定义它们的常量特定体中是可见的。
- 枚举类型默认为 final。它们不能被任何其他类型扩展。
- 对于写入文件的每个枚举类型,.class 将在编译后生成该 文件。
- 枚举类型可以包含任意数量的静态初始化块 以及实例初始化块。
- 由于 java.lang.Enum 该类实现了Comparable 和 Serializable 接口,因此默认情况下所有枚举类型都是 Comparable 和 Serializable。
- 我们可以使用== 运算符比较枚举常量 。
- 您可以使用该values() 方法检索任何枚举类型的枚举常量 。该 values() 方法返回一个枚举常量数组。
- 枚举在编译期间提供类型安全性。这意味着如果您尝试分配除指定的枚举常量之外的任何值,您将收到编译时错误。
- 您可以在类外或类内定义枚举类型,但不能在方法或块内定义。
- 该 ordinal() 方法用于获取枚举类型中枚举常量的顺序。
- 当您希望允许有限的一组选项在整个执行过程中保持不变并且您在编译时知道所有可能的选项时,主要使用枚举。例如,这可以是 菜单上的选项或组合框的选项。
- 有关详细信息,请访问https://javaconceptoftheday.com/18-points-every-java-developer-should-know-about-enums-in-java/
进一步阅读Java Enums
- https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
- https://javaconceptoftheday.com/java-enums-tutorial-with-examples/
- https://javaconceptoftheday.com/java-practice-coding-questions-on-enum-types/
-
原文链接:https://dzone.com/articles/18-points-every-java-developer-should-know-about-e
-
作者:Pramod Bablad
-
译者:umbrellage
到这里Java系列(三):Java 开发者需要了解的18个枚举要点,分享完毕了!下一波将分享《Redis的下载安装》和SpringBoot-Jpa-Redis案例分享!
最后
-
更多参考精彩博文请看这里:《陈永佳的博客》
-
喜欢博主的小伙伴可以加个关注、点个赞哦,持续更新嘿嘿!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/97878.html