單例設計模式小白逐步分析

2021-08-20 19:07:48 字數 1214 閱讀 5396

1、

package com.test.singleinstance;

class singleinstance

public class singleinstancetest else

}}

結果為:不是同乙個物件2、
package com.test.singleinstance;

class singleinstance

// 如果期望外部類呼叫此方法獲得本類物件且此方法不是static的話,

// 則外部類需要new乙個新的物件然後去呼叫此方法,但與本類的構造方法為private相衝突

// 所以此方法必須為static方法

public static singleinstance getsingleinstance()

}public class singleinstancetest else

}}

結果為:不是同乙個物件
3、//餓漢模式

class singleinstance

//無論如何呼叫本方法,都返回的是同乙個全域性物件

public static singleinstance getsingleinstance()

}

// 懶漢模式
class singleinstance2

public static singleinstance2 getsingleinstance()

return singleinstance;

}}

public class singleinstancetest  else 

// 懶漢模式測試

singleinstance2 s3 = singleinstance2.getsingleinstance();

singleinstance2 s4 = singleinstance2.getsingleinstance();

if(s3 == s4) else

}}

結果為:是同乙個物件

是同乙個物件

單例設計模式逐步講解

單例設計模式 instance例項 singleton patten單例模式 1.類圖分為三部分,依次是類名 屬性 方法 2.以結尾的為注釋資訊 3.修飾符 代表public,代表private,代表protected,什麼都沒有代表包可見。4.帶下劃線的屬性或方法代表是靜態的。5.對類圖中物件的關...

小白設計模式入門(1) 單例模式

什麼是單例模式?單例可以理解為乙個類只有乙個例項,因此單例模式就是為了保證這個類只會有乙個例項而總結的一種方法。它在什麼情況下使用的?從單例模式的定義中我們可以看出 單例模式的使用自然是當我們的系統中某個物件只需要乙個例項的情況,例如 作業系統中只能有乙個任務管理器,操作檔案時,同一時間內只允許乙個...

小白學設計模式 單例模式(singleton)

乙個類有且僅有乙個全域性例項,並且提供乙個訪它的全域性訪問點。單例模式讓自身儲存自己的唯一例項,使得這個類保證沒有其他例項可以被建立,從而提供乙個訪問該例項的方法。singleton 定義乙個instance操作,允許客戶訪問他的唯一例項,instance是乙個類操作,它可能負責建立他自己的唯一例項...