單例(Singleton)模式是Java中最簡單的設計模式之一。這種類型的設計模式屬於創建模式,因為此模式提供了創建對象的最佳方法之一。
這種模式涉及一個類,它負責創建一個對象,同時確保只創建一個對象。這個類提供了一種方法來訪問它的唯一對象,可以直接訪問,而不需要實例化類的對象。
實現實例
我們將創建一個單一對象類 - SingleObject
。單個對象(SingleObject
)類的構造函數是私有的,並且具有自身的靜態實例。
SingleObject
類提供了一個靜態方法來獲取其靜態實例到外部世界。SingletonPatternDemo
或示例類將使用SingleObject
類來獲取SingleObject
對象。
第1步
創建一個Singleton類,
SingleObject.java
public class SingleObject {
//create an object of SingleObject
private static SingleObject instance = new SingleObject();
//make the constructor private so that this class cannot be
//instantiated
private SingleObject(){}
//Get the only object available
public static SingleObject getInstance(){
return instance;
}
public void showMessage(){
System.out.println("Hello World!");
}
}
第2步
從單例類中獲取唯一的對象。
SingletonPatternDemo.java
public class SingletonPatternDemo {
public static void main(String[] args) {
//illegal construct
//Compile Time Error: The constructor SingleObject() is not visible
//SingleObject object = new SingleObject();
//Get the only object available
SingleObject object = SingleObject.getInstance();
//show the message
object.showMessage();
}
}
第3步
驗證輸出,得到結果如下 -
Hello World!
上一篇:
Java抽象工廠模式
下一篇:
Java建造者(Builder)模式