Java程式設計題: 寫一個Singleton出來
阿新 • • 發佈:2019-01-10
Singleton模式主要作用是保證在Java應用程式中,一個類Class只有一個例項存在。
一般Singleton模式通常有幾種種形式:
第一種形式:
定義一個類,它的建構函式為private的,它有一個static的private的該類變數,在類初始化時例項話,通過一個public的getInstance方法獲取對它的引用,繼而呼叫其中的方法。
public class Singleton { private Singleton(){} //在自己內部定義自己一個例項,是不是很奇怪? //注意這是private 只供內部呼叫 privatestatic Singleton instance = new Singleton(); //這裡提供了一個供外部訪問本class的靜態方法,可以直接訪問 public static Singleton getInstance() { return instance; } }
第二種形式:
public class Singleton { private static Singleton instance = null; public static synchronizedSingleton getInstance() { //這個方法比上面有所改進,不用每次都進行生成物件,只是第一次 //使用時生成例項,提高了效率! if (instance==null) instance=new Singleton(); return instance; } }
其他形式:
定義一個類,它的建構函式為private的,所有方法為static的。
一般認為第一種形式要更加安全些
這是上海尚學堂Java培訓學員面試遇到的一個題目,供大家參考,上海尚學堂根據大量的學員面試時的面試題整理出一整套完整的《Java面試學習技巧大全》,歡迎來 上海尚學堂領取。