java - 如何在枚举中使用构造函数?

标签 java constructor enums singleton

我想使用枚举在java中创建一个单例类。应该看起来像这样:

public enum mySingleton implements myInterface {

    INSTANCE;
    private final myObject myString;

    private mySingleton(myObject myString) {
        this.myString= myString;
    }
}

看起来我无法在构造函数中使用任何参数。有什么解决方法吗?提前致谢

最佳答案

你的枚举是错误的。以下正确声明:

public class Hello { 
    public enum MyEnum { 
            ONE("One value"), TWO("Two value"); //Here elements of enum.
            private String value; 
            private MyEnum(String value) { 
                this.value = value;
                System.out.println(this.value);  
            } 
            public String getValue() { 
                return value; 
            } 
    }
public static void main(String[] args) { 
        MyEnum e = MyEnum.ONE; 
    } 
}

输出:

One value
Two value

为枚举的每个元素调用构造函数。

关于java - 如何在枚举中使用构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24448418/

相关文章:

未找到 JAVA_HOME 作为 Sudo

java - Android 周 View 问题

c - 如何在 ANSI C 的结构中使用枚举?

ruby-on-rails - Rails 中的枚举 : uppercase or lowercase?

java - OQL 查询以查找 session 中引用的给定类的所有实例和子实例

java - foursquare 多请求收到 400 错误请求

java - 什么是初始化 block ?

javascript - 访问从基类构造函数调用的重写方法中的私有(private)方法

c# - BinaryFormatter.Deserialize 如何创建新对象?

java - 枚举之间的共享方法