在Java中實現(xiàn)一個單例模式有多種方式,以下是其中一種常見的實現(xiàn)方式:
public class Singleton {
private static Singleton instance;
// 私有化構(gòu)造方法,避免外部直接實例化
private Singleton() {}
// 提供靜態(tài)方法獲取唯一實例
public static synchronized Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
在上面的例子中,通過私有化構(gòu)造方法,外部類無法直接實例化Singleton對象。然后通過靜態(tài)方法getInstance()來獲取Singleton的唯一實例,利用懶漢式的方式實現(xiàn)延遲加載。同時需要使用synchronized關(guān)鍵字來保證線程安全。
另外,還可以通過靜態(tài)內(nèi)部類、枚舉等方式來實現(xiàn)單例模式,具體可以根據(jù)具體需求選擇合適的實現(xiàn)方式。