在 Java 中,使用 static 關鍵字可以實現單例模式。以下是一個簡單的示例:
public class Singleton {
// 使用 static 關鍵字定義一個靜態實例變量
private static Singleton instance;
// 將構造方法設置為私有,以防止外部實例化
private Singleton() {
// 防止通過反射創建多個實例
if (instance != null) {
throw new IllegalStateException("Singleton instance already exists!");
}
}
// 提供一個靜態方法來獲取實例
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
在這個例子中,我們使用了一個私有的構造方法和一個靜態的實例變量。getInstance()
方法用于獲取實例,如果實例不存在,則創建一個新實例。由于構造方法是私有的,所以無法從外部創建新實例。這樣就實現了單例模式。