gpt4 book ai didi

java枚举混淆

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:42:59 25 4
gpt4 key购买 nike

我遇到了以下 Java 代码。这里的接口(interface)包含两个方法,其中只有一个方法在枚举中实现。上面写着name()是自动实现的。我的问题是这怎么可能?我之前没有读过任何关于枚举中自动方法实现的规则。那么这里发生了什么?此外,代码没有给出任何类型的编译时错误。

interface Named {
public String name();
public int order();
}

enum Planets implements Named {
Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune;
// name() is implemented automagically.
public int order() { return ordinal()+1; }
}

最佳答案

name()在 Enum 类中定义,它满足您的接口(interface)约定,因此您不必定义 name(),除非您当然想覆盖默认行为。

关于java枚举混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8421824/

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