gpt4 book ai didi

Java:如何在枚举中使用构造函数重载?

转载 作者:搜寻专家 更新时间:2023-11-01 01:00:53 31 4
gpt4 key购买 nike

我正在使用 Java 中的枚举。如我所见,可以重载枚举构造函数。我的问题是,在这种情况下,是否有可能从构造函数重载中受益,因为据我所知,既不可能自己调用​​它,也不可能强制编译器调用您想要调用的特定对象?

感谢您花时间向我澄清这些内容,并希望它对其他可能有相同问题的人也有用。

最佳答案

调用它 - 在设置枚举值时。例如:

public enum Person
{
FRED("Frederick", "Fred"),
PETE("Peter", "Pete"),
MALCOLM("Malcolm"); // No nickname

private final String nickname;
private final String name;

private Person(String name, String nickname)
{
this.name = name;
this.nickname = nickname;
}

private Person(String name)
{
this(name, name); // Just use the name as the nickname too
}

// getNickname and getName
}

我过去曾在各种项目中使用过此功能。枚举是 Java 最好的特性之一——当然是我在 C# 中工作时从 Java 中错过的为数不多的东西之一。 (我敢肯定,它们可以更巧妙地实现,但是……)

关于Java:如何在枚举中使用构造函数重载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6870710/

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