8

我正在通过枚举阅读和实施场景。我发现我们可以在没有任何实例的情况下创建一个枚举。这样的实际用途是Enum什么?其次Enum也可以实现一个接口,但显然不能扩展一个类,因为它已经扩展了 class Enum。创建Enum无实例的实际优势是什么?本

4

3 回答 3

11

零成员枚举实际上是Java 社区的某个部分(最著名的是Peter Lawrey )使用的实用程序类惯用语。它们是最简洁的,并且可以说是保证类不会被实例化或子类化的最干净的方法。

自然,这样的枚举中不会有任何实例方法;只有静态的。

于 2013-07-22T17:04:36.183 回答
2

Enum是引用类型,如classor interfaces。这意味着您可以很好地适应“程序到接口而不是实现”的原则。

于 2013-07-22T17:14:45.083 回答
0

an 的成员enum不一定是固定的,直到宇宙的尽头。您可以在不破坏二进制可比性的情况下添加新成员。所以我可以想象enum创建 an 是为了模拟一些目前没有实例但以后可能会添加的概念。

是否也有可能enum为我们知道绝对不会有任何实例的概念创建 an?例如enum NegativeNaturalNumber{}?它可以在程序中起到任何作用吗?谁知道呢,我们不能肯定地说。

于 2013-07-22T18:59:20.260 回答