設計模式——單例模式懶漢式
平常我們可以建立很多個物件,如下圖,但單例模式懶漢式中只能有一個物件
那我們首先該做什麼呢?
1.首先對構造器Singleton進行私有化(封裝private)這樣在其他類就不能瘋狂new物件了//第五行程式碼
然後我們建立方法getSingleton() //第13行程式碼
然後我們需要呼叫該方法獲取這個物件怎麼辦?
很想呼叫getSingleton方法,這是個物件方法,我們得用物件對其進行呼叫,但是構造器已經被封裝了,
既然不能建立物件,也就是說用物件呼叫物件方法不行,我們還有一種辦:
那就是用類呼叫方法,因為該方法是物件方法,我們可以加個static,它就從物件方法變成了類方法,我們就可以用類呼叫類方法了。*/
在類中加了static eclipse報錯,提示我們要在物件s前加static,那我們就加唄(就這麼佛系)
看看,加完以後的樣子,如下圖:
然後我們開始用Singleton類呼叫方法來獲取這個物件,然後我們列印
你會發現,打印出來的都是這一個物件的ip地址,所以單例模式——懶漢式就是通過這樣的方法全程只產生一個物件的。
相關推薦
[轉]設計模式--單例模式(一)懶漢式和餓漢式
打印 是否 調用構造 餓漢 一段 tools 會有 輸出結果 java 單例模式是設計模式中比較簡單的一種。適合於一個類只有一個實例的情況,比如窗口管理器,打印緩沖池和文件系統, 它們都是原型的例子。典型的情況是,那些對象的類型被遍及一個軟件系統的不同對象訪問,因此需要一個
設計模式--單例模式 改進型懶漢式
這個解決方案的名字是Lazy initialization holder class。這個模式綜合運用了java的類級內部類和多執行緒預設同步鎖的知識。 先來補充一下基礎知識,以下內容來源自清華大學出版社的《研磨設計模式》。 先簡單看看類級內部類相關的知識
設計模式——單例模式懶漢式
平常我們可以建立很多個物件,如下圖,但單例模式懶漢式中只能有一個物件 那我們首先該做什麼呢? 1.首先對構造器Singleton進行私有化(封裝private)這樣在其他類就不能瘋狂new物件了//第五行程式碼 然後我們建立方法getSingleton() //第13
設計模式-單例模式-餓漢式單例和懶漢式單例
單例模式(Singleton pattern)一個在設計模式中比較簡單的模式,我們常說的餓漢式和懶漢式是最常舉例的兩種寫法。 如下 餓漢式: public class Singleton { private static final Singleton sin
[設計模式]單例模式(懶漢式和餓漢式)
單例模式(Singleton pattern) 定義: 一種常見的軟體設計模式 目的: 應用該模式的類一個類只有一個例項。即一個類只有一個物件例項 瞭解了定義和目的後我們先來看一下兩種單例模式: 1.懶漢式(lazy): 概念: 顧名
設計模式-單例模式(餓漢式及懶漢式的Java實現)
單例模式 單例模式在程式設計中使用的頻率非常之高,其設計的目的是為了在程式中提供唯一一個物件(保證只被構造一次),例如寫入日誌的log物件,windows的工作管理員實現(只能開啟一個)。這裡主要介紹單例模式使用Java的實現(包括餓漢式及懶漢式)。 實現
javascript設計模式-單例模式
空間 spa 靜態變量 通過 script 無法 單例 onf 訪問 單例模式,是創建型設計模式的一種,又被稱為單體模式,是只允許實例化一次的對象類。有時也用來規劃一個命名空間。 1 var Util = { 2 getName: function () {
設計模式--單例模式
final 簡單 封裝 產生 非線程安全 span 操作 ati zed 單例設計模式 Singleton是一種創建型模式,指某個類采用Singleton模式,則在這個類被創建後,只可能產生一個實例供外部訪問,並且提供一個全局的訪問點。 核心知識點如下: (1) 將采用單例
設計模式——單例模式
pre hostname turn cin user order 總結 -type path_info 單例模式 實例:web應用程序 #!/usr/bin/env python #coding:utf-8 from wsgiref.simple_server impor
設計模式-單例模式
java return 全局對象 實例化 urn ole col scrip 獨立 單例,即一個對象只有一個實例,即使實例化多次,拿到的也是同一個實例。 JavaScript中,全局對象就是單例,如:window、document;獲取的DOM也是單例的。 單例
PHP面向對象-設計模式 單例模式 簡單工廠模式 工廠方法模式
單例 nbsp 私有化 {} 意義 pan php代碼 get fun 1.單例模式 單例模式是一種常用的軟件設計模式。在它的核心結構中只包含一個被稱為單例的特殊類。通過單例模式可以保證系統中一個類只有一個實例。即一個類只有一個對象實例。 要實現每一個類只有一個實例
PHP模式設計之單例模式、工廠模式、註冊樹模式、適配器模式、觀察者模式
操作符 unset 關系 玩具 ati ase color 只有一個 bsp php模式設計之單例模式 什麽是單例模式? 單例模式是指在整個應用中只有一個實例對象的設計模式 為什麽要用單例模式? php經常要鏈接數據庫,如果在一個項目中頻繁建立連接數據庫,會
設計模式——單例模式(C++)
clu win 安全 iostream public size turn instance stat 一: 餓漢式單例: 靜態區初始化instance,然後通過getInstance返回。這種方式沒有多線程的問題,是一種以空間換時間的方式,不管程序用不用,都會構造唯一的
[設計模式]單例模式
釋放 常用 覆寫 這樣的 訪問 客戶端瀏覽器 創建 article net 引言 做為已經開發9年多的我,最近感覺有點迷茫,技術更新太快,有點跟不上這麽快的節奏,在開始工作時,一直也聽領導說23種設計模式,當時也看了視頻,看完也沒有太大的收獲,在工作中有的時候也是為了把設計
Java設計模式 - 單例模式
選擇 工廠方法 ech http locking 理解 多個 reg getname 本文繼續介紹23種設計模式系列之單例模式。 概念: Java中單例模式是一種常見的設計模式,單例模式的寫法有好幾種,這裏主要介紹三種:懶漢式單例、餓漢式單例、登記式單例。 單例模式有
.NET開發設計模式-單例模式
ace 函數 sum logs mar 訪問 threading system pri 解釋:單例模式主要特點:確保一個類只有一個實例,並提供一個訪問它的全局訪問點 意思就是說:在多線程的情況下:A先進行創建了該實例。B再進來訪問時就不需要再創建了。 using Syst
Java設計模式-單例模式
影響 沒有 環境 成員 == 比較 .net 非線程安全 align 轉自:http://blog.csdn.net/jason0539/article/details/23297037 Java中單例模式是一種常見的設計模式,單例模式的寫法有多種,這裏主要只介紹:懶漢
C#設計模式--單例模式
資源 let readonly eat 私有靜態變量 sta 技術分享 span ret 目的:避免對象的重復創建 單線程具體的實現代碼 /// <summary> /// 私有化構造函數 /// </summary>
[讀書筆記] JavaScript設計模式: 單例模式
就是 單例對象 func 需要 返回 urn his manager div 單例模式:保證一個類只有一個實例,並提供一個可以訪問它的全局訪問點。 一種簡單、方便的寫法就是用一個變量來標識當前類是否已經創建過對象,如果有,則返回已經創建好的對象,否則創建一個新對象,
設計模式----單例模式
單例 .cn 修飾符 技術 什麽 com text 都沒有 下劃線 單例模型 類圖分為3個部分,一次是類名,屬性,方法。以<<開頭和以>>結尾為註釋信息。修飾符+代表public,-代表private,#代表protected。什麽都沒有