單例設計模式

2021-10-25 04:46:10 字數 1112 閱讀 9676

單例設計模式:保證乙個類僅有乙個例項,並提供乙個訪問他的全域性訪問點。

好處:單例設計模式有很多好處,比如節約記憶體空間,控制資源的使用。

模擬:1、私有化構造方法,因為不讓外界隨意去new

2、在類裡面,自己new乙個物件

3、在給外界提供乙個獲取的方式get***(),並把new出來的物件返回:

舉例

實現主類

public class test}}

餓漢式

class sington

//自己建立物件 加static --靜態資源getmy(),關聯的資源必須也得是 靜態的–靜態只能呼叫靜態

static private sington my = new singleton() ;

//設定全域性訪問點

加static是因為–無法通過物件訪問getmy(),只能通過

類名.呼叫了

static public sington getmy()

}懶漢式:-----面試重點

class sington()

//自己建立物件 加static --靜態資源getmy(),關聯的資源必須也得是 靜態的–靜態只能呼叫靜態

static private sington my;

//設定全域性訪問點 加static是因為–無法通過物件訪問getmy(),只能通過 類名.呼叫了

//同步方法,如果是靜態方法,會自動分配鎖物件是類名.class.如果是普通方法,分配的鎖物件是this

static public sington getmy()

return my;}}

}比較:餓漢式 – 不管你用不用物件,我們都會第一時間建立好,–浪費記憶體。

總結:1、有兩種實現方法,餓漢式 懶漢式.

2、單例設計模式,是一套經過經驗總結的開發過程.

私有化構造方法

在類的內部建立好物件

提供公共的全域性訪問點

單例設計模式(餓漢單例設計模式 懶漢單例設計模式)

1.什麼是單例 單例的意思是乙個類永遠只存在乙個物件,不能建立多個物件。2.為什麼要用單例 開發中有很多的物件我們只需要乙個,例如虛擬機器物件,任務管理器物件 物件越多越佔記憶體,有時候只需要乙個物件就可以實現業務,單例可以節省記憶體空間。3.如何實現單例 單例的實現方式有 餓漢單例設計模式 通過類...

設計模式 單例設計模式

歷史 最早是建築學領域的模式,然後gof四人由其引申到編碼方面,總結了23種設計模式 設計模式 解決某一類事情最行之有效的方法 2.1 體現 餓漢式,保證物件的唯一性 class singleton 私有化建構函式禁止該類建立物件 private static singleton st new si...

設計模式 單例設計模式

單例模式,是一種常用的軟體設計模式。在它的核心結構中只包含乙個被稱為單例的特殊類。通過單例模式可以保證系統中乙個類只有乙個例項。即乙個類只有乙個物件例項 單例模式的要點有三個 一是某個類只能有乙個例項 二是它必須自行建立這個例項 三是它必須自行向整個系統提供這個例項。單例設計模式 解決的問題 可以保...