使用Java中的Enums创建构造函数

时间:2017-01-09 13:09:45

标签: java enums

我想定义一个带有构造函数的类,该构造函数将枚举作为形式参数(因此只能传递符合枚举类型的参数)。这就是我所拥有的(因为我做大学工作并且不想抄袭):

EnumThing doodah = new EnumThing(CONSTANT1);

然而,当我尝试

number=$(cut -d: -f 2 file | sort -n | tail -n 1)

我收到错误:找不到符号 - 变量CONSTANT1

这是我第一次尝试使用枚举。他们看起来非常强大,但似乎我错误地使用它们。任何帮助非常感谢!

2 个答案:

答案 0 :(得分:4)

首先,您需要制作枚举log_file ,否则您无法在课程public之外访问它:

EnumThing

然后,正确访问枚举的成员:

public class EnumThing {
    public enum SomeConstant {CONSTANT1, CONSTANT2, CONSTANT3}

    // ...
}

答案 1 :(得分:2)

完整的工作示例(请注意正确用法是:<App>):

<Route>

请注意,您可以使用SomeConstant.CONSTANT1枚举。但它只能在您的班级(public class EnumThing { private SomeConstant aConstant; private enum SomeConstant {CONSTANT1, CONSTANT2, CONSTANT3} public EnumThing(SomeConstant thisConstant) { this.aConstant = thisConstant; } public static void main(String[] args) { EnumThing doodah = new EnumThing(SomeConstant.CONSTANT1); } } )中访问。