Java 什么';创建没有实例的枚举有什么用?
我正在通过enum阅读和实现场景。我想我们可以创建一个枚举 没有任何实例。这种Java 什么';创建没有实例的枚举有什么用?,java,Java,我正在通过enum阅读和实现场景。我想我们可以创建一个枚举 没有任何实例。这种枚举的实际用途是什么?其次Enum也可以实现 接口,但显然不能扩展类,因为它已经扩展了类Enum。创建不带实例的Enum有哪些实际优势? Ben零成员枚举实际上是Java社区的某个部分(最显著的是)使用的实用程序类惯用法。它们是保证类不被实例化或子类化的最简洁、最干净的方法 当然,在这样的枚举中不会有任何实例方法;只有静态类型。Enum是引用类型,如类或接口。这意味着你可以 我们要适应这个原则,“.枚举的成员在宇宙结束
枚举
的实际用途是什么?其次Enum
也可以实现
接口,但显然不能扩展类,因为它已经扩展了类Enum
。创建不带实例的Enum
有哪些实际优势?
Ben零成员枚举实际上是Java社区的某个部分(最显著的是)使用的实用程序类惯用法。它们是保证类不被实例化或子类化的最简洁、最干净的方法
当然,在这样的枚举中不会有任何实例方法;只有静态类型。
Enum
是引用类型,如类
或接口
。这意味着你可以
我们要适应这个原则,“.枚举的成员在宇宙结束之前不一定是固定的。你可以添加新成员而不破坏二进制可比性。因此我可以想象,创建一个
枚举
是为了模拟一些概念,这些概念目前没有实例,但以后可能会添加一些实例
是否也可能为我们知道绝对不会有任何实例的概念创建
enum
?例如enum NegativeNaturalNumber{}
?它能在程序中起到任何作用吗?谁知道,我们不能肯定地说。哦,那样的话。但是很多面试官都会问这个问题。如果没有,为什么Java人会允许它?可能在某个地方有一些用途,我们不知道。另请看:你能举一个这样做的例子吗?我能想到m任何使用常规类的地方(例如,java.lang.Math
),但我认为我从未见过这种情况。但它随后出现在javadoc的enum
部分,这不一定是您要查找它的地方。最终(为了清楚起见)类+私有构造函数是此类用例的标准用法(虽然在功能上是等效的)。这是JDK中通常要做的事情(包括8).@arshajiiMath
对于enum
@damo来说太老了,我承认我可能有偏见。我很久以前就读过这个话题,所以这个成语对我来说越来越流行。@benz因为它更简洁,而不仅仅是关于字符数:只要看到一个单词enum
,你就可以立即放心,这个单词是s满足实用程序类的所有要求:没有子类化,没有实例化。它是关于程序员的精神负荷。当每一段项目代码都有这样的优雅时,总体效果是非常微妙的。