java - 如何使用枚举进行单例设计模式?

标签 java enums

据我了解,以下代码始终给出相同的实例,也无法修改,最适合单/多线程使用。

enum Colors {
    RED, BLUE, GREEN;
}

但是我想知道如何使用枚举将单例模式应用于自定义类,我的意思是我们通常进行初始化然后返回实例。举个例子会有很大帮助。

最佳答案

您可以像在类中一样进行封装和初始化。

这是一个简单的例子:

public enum Color{
  INSTANCE(10, 30, 50);

  private int red, green, blue;  

  private Color(int red, int green, int blue){
     this.red = red;
     this.green = green;
     this.blue = blue;
  }

  public int getRed(){
     return red;
  }

  public int getGreen(){
     return green;
  }

  public int getBlue(){
     return blue;
  }
}

在本例中,您有一个枚举类型 Color 的线程安全单例实例。

关于java - 如何使用枚举进行单例设计模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30559792/

相关文章:

java - Stanford-NLP:找不到主类错误

java - 是否可以扩展 Java 枚举?

ios - 在 Objective-C 上使用 Enum 和 Switch

java - Processing 2.0 中的枚举

kotlin - 如何强制立即实例化枚举值?

JavaSymbolSolver:获取字段的完全限定名称

java - Spring Boot REST : Sort direction is ignored, 但排序通常有效

java - 邻接矩阵java

java - 自定义Adapter中的getView方法没有被调用

java.sql.SQLException : Data truncated for column 异常