如何通過(guò)static關(guān)鍵字實(shí)現(xiàn)單例模式

c++
小樊
84
2024-08-16 11:42:35

在Java中,可以通過(guò)static關(guān)鍵字和私有構(gòu)造函數(shù)來(lái)實(shí)現(xiàn)單例模式。以下是一種常見(jiàn)的實(shí)現(xiàn)方式:

public class Singleton {
    private static Singleton instance;

    private Singleton() {
        // 私有構(gòu)造函數(shù),防止外部實(shí)例化
    }

    public static Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}

在上面的代碼中,Singleton類(lèi)中有一個(gè)私有的靜態(tài)變量instance和一個(gè)私有的構(gòu)造函數(shù)。getInstance方法是一個(gè)靜態(tài)方法,用于獲取Singleton的實(shí)例。在getInstance方法中,首先檢查instance是否為空,如果為空則創(chuàng)建一個(gè)新的Singleton實(shí)例,并返回該實(shí)例,否則直接返回已經(jīng)存在的實(shí)例。這樣可以確保在整個(gè)應(yīng)用程序中只有一個(gè)Singleton實(shí)例存在。

0