Enum的实施

时间:2014-03-23 05:33:04

标签: java enums

我正在尝试对枚举进行一些逆向工程。

public class test {
    public static void main(String[] args) {
        num number=num.one;
        System.out.println(number); //outputs result as one

    }
}

enum num{
    one;
}

现在如何在不使用枚举的情况下实现相同的功能。

public class Lab24a {
    public static void main(String[] args) {
        num1 num= num1.one;
        System.out.println(num);
    }
}

class num1{
    public static final num1 one= new num1();

    private num1(){
    }

    public String toString(){
        return //how to implement the two string totally lost here.
    }
}

我能够编写代码直到此,但我无法打印输出值,请给我你的建议或提示。我甚至尝试查看以下链接。

Confusion with Enum type

enum implementation inside interface - Java

1 个答案:

答案 0 :(得分:3)

为什么不使用enum? IMO Java缺少一些关键功能,但其中的一个功能就是它使用枚举的方式。

如果你真的想避开enum,你可以这样做:

class num1{
    public static final num1 one= new num1("one");

    private String name;
    private num1(String name) {
        this.name = name;
    }

    @Override  //Be sure to add the override annotation here!
    public String toString(){
        return name;
    }   
}