我想用一个将枚举作为正式参数的构造函数定义一个类(因此,只能传递符合枚举类型的参数)。这是我所拥有的(由于我正在上大学并且不想窃而概括化):
public class EnumThing
{
private SomeConstant aConstant;
private enum SomeConstant {CONSTANT1, CONSTANT2, CONSTANT3};
public EnumThing(SomeConstant thisConstant)
{
this.aConstant = thisConstant;
}
// Methods
但是当我尝试
EnumThing doodah = new EnumThing(CONSTANT1);
我收到一个错误:找不到符号-变量CONSTANT1
这是我第一次尝试将枚举用于所有内容。它们似乎功能强大,但似乎我用错了它们。任何帮助深表感谢!
最佳答案
首先,您需要使枚举public
否则您不能在类EnumThing
之外访问它:
public class EnumThing {
public enum SomeConstant {CONSTANT1, CONSTANT2, CONSTANT3}
// ...
}
然后,正确访问枚举的成员:
EnumThing doodah = new EnumThing(EnumThing.SomeConstant.CONSTANT1);