现在这让我烦恼。为什么我需要创建枚举而不是创建普通的java类?它给我带来了什么额外的好处? 我真的不懂enums。 现在我在stackoverflaw中看到了这段代码。
enum Cats {
FELIX(2), SHEEBA(3), RUFUS(7);
private int mAge;
Cats(int age) {
mAge = age;
}
public int getAge() {
return mAge;
}
}
我想知道为什么它是一个枚举而非一个类......请向我解释一下。 提前致谢。 更新:
我需要这个用于机场的飞机管理。很难弄清楚枚举的位置。那就是它。
答案 0 :(得分:1)
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?。使用枚举