單例模式

單例即只存在一個實例

public class Singleton {
    /**
     * 構造方法私有化
     */
    private Singleton(){

    }

    /**
     * 私有的內部靜態類,使用了加載外部類的時候內部類不會立即加載的特性
     * @author Sky
     *
     */
    private static class SingletonHolder{
        public static Singleton mInstance = new Singleton();
    }

    /**
     * 暴露一個方法取得單例對象的實例
     * @return
     */
    public static Singleton getInstance(){
        return SingletonHolder.mInstance;
    }
}

這種方式不僅可以確保線程安全,也能夠保證單例對象的唯一性,同時也延遲單例對象的初始化

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章