1. 程式人生 > >寫一個Singleton(單例模式)

寫一個Singleton(單例模式)

Singleton模式主要作用是保證在Java應用程式中,一個類Class只有一個例項存在。

一般Singleton模式通常有幾種種形式:第一一種形式:定義一一個類,它的建構函式為private的,它有一個static的private的該類變數,在類初始化時例項話,通過一個public的getInstance方法獲取對它的引用,繼而呼叫其中的方法。

 第一種形式

public class Singleton {
      //在自己內部定義自己一個例項,是不是很奇怪?
      //注意這是private只供內部呼叫
      //這裡提供了一個供外部訪問
     private Singleton(){}//內部定義例項
     private static Singleton instanse=new Singleton();
     public static Singleton getInstance() {
    	 return instanse;
     }
}


第二種形式:
 

public class Singleton {

      private static Singleton instance= null;

      public static synchronizedSingleton getInstance() {

      //這個方法比上面有所改進,不用每次都進行生成物件,只是第一次

      //使用時生成例項,提高了效率!if (instance==null)

      instance = new Singleton();return instance; }



其他形式:

定義一個類,它的建構函式為private的,所有方法為static的。

一般認為第一一種形式要更加安全些