创建枚举和创建java类有什么区别?
现在这让我很烦恼。为什么我需要创建一个枚举而不是创建一个普通的java类?它给了我什么额外的优势? 我真的不懂枚举。 现在我在StackOverlaw中看到了这段代码创建枚举和创建java类有什么区别?,java,class,enums,Java,Class,Enums,现在这让我很烦恼。为什么我需要创建一个枚举而不是创建一个普通的java类?它给了我什么额外的优势? 我真的不懂枚举。 现在我在StackOverlaw中看到了这段代码 enum Cats { FELIX(2), SHEEBA(3), RUFUS(7); private int mAge; Cats(int age) { mAge = age; } public int getAge() { return mAge; } } 我想知道为什么它是一
enum Cats {
FELIX(2), SHEEBA(3), RUFUS(7);
private int mAge;
Cats(int age) {
mAge = age;
}
public int getAge() {
return mAge;
}
}
我想知道为什么它是一个枚举而不是一个类。。。请给我解释一下。
提前谢谢。
更新:
我需要这个做机场的飞机管理。很难弄清楚在哪里放置枚举。就是这样。枚举看起来像一个特殊的类,实际上是一个类。它们都是extend
java.lang.Enum
。当我们编译枚举时,它将是一个Cats.class,所有枚举值都将是“publicstaticfinal”。像这样:
public enum Season {
SPRING, SUMMER, AUTUMN, WINTER;
}
威尔喜欢(不平等):
区别在于:类型安全性和可读性。你可以看到这个帖子:。对于使用枚举有一些讨论,讨论了类和枚举之间的差异,以及何时使用它们。。整个内容都很值得一读,所以最好去那里,而不是我总结一下。好的,还有一件事我们可以使用enum在机场创建飞机管理(根据时间、队列等)。这取决于你的需要。如果你能想到至少一件事,你知道它将采用一组定义良好的常量值中的一个,那么枚举可能适用于你(例如,航空公司拥有的飞机模型)@pewpew我想我已经做到了。
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;
}