Java編程題: 寫一個Singleton出來


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

一般Singleton模式通常有幾種種形式:

 

第一種形式: 

定義一個類,它的構造函數為private的,它有一個static的private的該類變量,在類初始化時實例話,通過一個public的getInstance方法獲取對它的引用,繼而調用其中的方法。

public class Singleton {

private Singleton(){}

      //在自己內部定義自己一個實例,是不是很奇怪?
      //注意這是private 只供內部調用
      private static Singleton instance = new Singleton();
      //這里提供了一個供外部訪問本class的靜態方法,可以直接訪問  
      public static Singleton getInstance() {
        return instance;   
      } 
    } 

 

 第二種形式: 

public class Singleton { 
  private static Singleton instance = null;
  public static synchronized Singleton getInstance() {
  //這個方法比上面有所改進,不用每次都進行生成對象,只是第一次     
  //使用時生成實例,提高了效率!
  if (instance==null)
    instance=new Singleton();
return instance;   } 
} 

 

其他形式:

定義一個類,它的構造函數為private的,所有方法為static的。
一般認為第一種形式要更加安全些

這是上海尚學堂Java培訓學員面試遇到的一個題目,供大家參考,上海尚學堂根據大量的學員面試時的面試題整理出一整套完整的《Java面試學習技巧大全》,歡迎來上海尚學堂領取。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM