如果我对枚举的理解是正确的,一个很好的例子就是使用它们来存储扑克牌的组,而不是四个魔数(Magic Number)或四个静态最终整数。
public class Card {
// ...
private enum CARD_SUITE { HEARTS, DIAMONDS, CLUBS, SPADES; }
}
但是如果 Card
的公共(public)方法需要一个套件作为参数怎么办,例如isSuite(CARD_SUITE 套件)
?枚举是类(class)私有(private)的。为那一行创建一个新文件感觉非常不必要。这是怎么解决的?
最佳答案
您可以在同一个类中将其设为public
,只有public class
应在单独的Java 文件中定义。
public class Card {
// ...
public enum CARD_SUITE { HEARTS, DIAMONDS, CLUBS, SPADES; }
}
然后您可以访问枚举
,例如Card.CARD_SUITE.HEARTS
、Card.CARD_SUITE.DIAMONDS
...
关于java - Java 枚举应该在它们自己的文件中定义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18718755/