我正在阅读并通过枚举实现方案。我想我们可以创建一个枚举
没有任何实例。这种Enum
的实际用途是什么?其次Enum
也可以实现
一个接口,但显然不能扩展一个类,因为它已经扩展了类Enum
。没有实例创建Enum
有什么实际好处?
本
答案 0 :(得分:11)
零成员枚举实际上是Java社区的某个部分使用的实用程序类惯用法(最值得注意的是,Peter Lawrey)。它们是最简洁的,也可以说是保证类不被实例化或子类化的最干净的方式。
当然,在这样的枚举中你不会有任何实例方法;只有静态的。
答案 1 :(得分:2)
Enum
是class
或interfaces
等参考类型。这意味着你可以
很好地适应了原则,“program to interface and not implementation"。
答案 2 :(得分:0)
enum
的成员不一定要固定到宇宙结束。您可以添加新成员而不会破坏二进制可比性。所以我可以想象创建一个enum
来模拟一些概念,该概念目前没有实例,但可能会稍后添加一些。
是否有可能为我们知道肯定永远不会有任何实例的概念创建enum
?例如enum NegativeNaturalNumber{}
?它可以用于程序中的任何目的吗?谁知道,我们不能肯定地说。