如何正确地声明枚举

时间:2013-02-26 10:21:30

标签: java enums

我尝试在Java中第一次声明enum,如下所示:

public enum Atom_const{
    public final float HIDROGEN_RADIUS=.1f;
    public final float CARBON_RADIUS=.28f;
}

Eclipse给了我一个错误"Syntax error on token "{", ; expected",但是我从未见过类似“{;”的语法以前,我没有在enum例子中看到这一点。那么声明enum的正确方法是什么?

我确实看过http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html但没有;在{。之后。我怀疑这是因为我做了作业,但我不确定。

4 个答案:

答案 0 :(得分:9)

你在声明一个枚举和声明一些常量字段之间有一半的距离。我怀疑你想要的东西:

public enum Element {
    HYDROGEN(.1f),
    CARBON(.28f);

    private final float radius;

    private Element(float radius) {
        this.radius = radius;
    }

    public float getRadius() {
        return radius;
    }
}

答案 1 :(得分:4)

如果你想在Java中声明一个带浮点数的枚举,你应该这样做:

public enum AtomRadius {
    HYDROGEN(.1f),
    CARBON(.28f);

    private final float radius;

    private AtomRadius(float radius) {
        this.radius = radius;
    }
}

public static void main(String[] args) {
    // Example of how to use your constant
    AtomRadius atom = AtomRadius.HYDROGEN;
    System.out.println(atom.radius);
}

有关详情,请查看:http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html

答案 2 :(得分:1)

public enum Atom_const {
    HYDROGEN(.1f),
    CARBON(.28f);

    private float radius;

    private Atom_const(float radius) {
        this.radius = radius;
    }

    public float getRadius() {
        return radius;
    }
}

答案 3 :(得分:1)

无需声明public final float

 enum Atom_const{   
   HYDROGEN_RADIUS(.1f),
   CARBON_RADIUS(.28f);} 

由于