在阅读Enum
的Javadoc时,我可以看到signature of valueOf()
不是我通常使用的{{3}}。此外,还缺少值()方法的javadoc。我读到这些方法实际上是由编译器自动生成的。所以我的问题是为什么这些方法在Enum
类本身中没有被声明为静态方法?这些方法需要包含在内,就像编译器的方式一样?为什么这个额外的抽象层?
答案 0 :(得分:9)
这些方法必须在Enum
中声明,但在Enum
子类中,您正在编写的enum
类型。它们不能以任何其他方式添加,尤其是因为静态方法不会继承实例方法的方式。