gpt4 book ai didi

java - 创建枚举与创建 Java 类有什么区别?

转载 作者:行者123 更新时间:2023-12-01 13:02:13 24 4
gpt4 key购买 nike

现在这让我很烦恼。为什么我需要创建一个枚举而不是创建一个普通的 java 类?它给我带来了什么额外的优势?我真的不懂枚举。现在我在 stackoverflaw 本身中看到了这段代码。

enum Cats {
FELIX(2), SHEEBA(3), RUFUS(7);

private int mAge;
Cats(int age) {
mAge = age;
}
public int getAge() {
return mAge;
}
}

我想知道为什么它是一个枚举而不是一个类......请向我解释一下。提前致谢。更新:

我需要这个来进行机场的飞机管理。很难弄清楚在哪里放置枚举。仅此而已。

最佳答案

enum看起来像一个特殊的类,实际上它是一个类。它们都是扩展 java.lang.Enum<E> 。当我们编译枚举时,它将是一个 Cats.class ,所有枚举值都将是“public static final”。像这样:

public enum Season {
SPRING, SUMMER, AUTUMN, WINTER;
}

会喜欢(不等于):

public class Season {
public static final int SPRING = 1;
public static final int SUMMER = 2;
public static final int AUTUMN = 3;
public static final int WINTER = 4;
}

差异在于:类型安全性和可读性。你可以看这个帖子:What's the use of "enum" in Java? 。用于使用枚举

关于java - 创建枚举与创建 Java 类有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23440395/

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