3

在阅读 Javadoc 时,Enum我可以看到我通常不使用的签名。valueOf()values() 方法的 javadoc 也丢失了。我读到这些方法实际上是由编译器自动生成的。所以我的问题是为什么这些方法没有在Enum类本身中声明为静态方法?像编译器那样包含方法的需要是什么?为什么要增加这个额外的抽象层?

4

1 回答 1

9

这些方法必须不是在 中声明Enum,而是在Enum子类中声明,即enum您正在编写的类型。它们不能以任何其他方式添加,尤其是因为静态方法不会像实例方法那样继承。

于 2013-03-16T18:02:26.327 回答