簡體   English   中英

如何將枚舉用於單例設計模式?

[英]How to use enum for singleton design pattern?

我了解以下代碼始終總是提供相同的實例,也無法修改,因此建議單/多線程使用。

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的線程安全單例實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM