gpt4 book ai didi

java - 为什么 Enum 中的静态方法 values() 和 valueOf() 是编译器添加的,而没有在 Enum 类中显式声明?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:57:32 25 4
gpt4 key购买 nike

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

最佳答案

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

关于java - 为什么 Enum 中的静态方法 values() 和 valueOf() 是编译器添加的,而没有在 Enum 类中显式声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15452703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com