黑馬程式設計師 java單列設計模式

2021-07-03 21:39:10 字數 1324 閱讀 7103



---------------------- asp.net+unity開發、.net培訓、期待與您交流! ----------------------

以下介紹一下單例設計模式:

單例,即單個例項物件。那麼單例設計模式:即解決乙個類在記憶體中只存在乙個物件。

那麼想要保證物件唯一:

1,為了避免其他程式過多建立該類物件,先禁止其他程式建立該類物件。

2,還為了其他程式可以訪問到該類物件,只好在本類中,自定義乙個物件。

3,為了方便其他程式對自定義物件的訪問,可以對外提供一些訪問方式。

那麼如何用**來實現上述思路呢?

1,禁止其他程式建立該類物件,即將建構函式私有化即可。

2,在類中建立乙個本類物件。

3,為了使其他物件訪問到該自定義物件,可以提供乙個方法獲取到該物件。

**實現主要有兩種方式:餓漢式,懶漢式。

餓漢式:即先初始化物件。

餓漢式**實現如下:

class single

//將建構函式私有化

static single s = new single();  //在本類中自定義乙個物件,該s要被靜態方法訪問到,所以要用static修飾

public static single getinstance()

}class singledemo

}懶漢式:即物件是方法被呼叫時,才初始化,也叫做物件的延時載入。在這裡,指的是,single類進記憶體,          

物件還沒有存在,只有呼叫了getinstance 方法時,才建立物件。

懶漢式**實現如下:

class single

private static single s = null;//這裡暫時先不建立物件。

public static single getinstance()

return s;}}

但是注意,懶漢式中容易出現安全隱患,所以可以在方法中加乙個鎖,即synchronized.

即public static synchronized single getinstance();

然而,加上乙個鎖之後,程式就變得低效率了。那麼應該怎麼辦呢?

可以進行雙重判斷。

public static single getinstance()}}

}這樣既可以保證不會出現安全隱患,也保證了效率。但是**有點複雜。

所以,在實際開發過程中,主要還是用餓漢式單例設計模式。

----------------asp.net+unity開發、.net培訓、期待與您交流! --------------

詳情請檢視:www.itheima.com

黑馬程式設計師 10 單列設計模式

設計模式 顧名思義就是解決一類問題的固定步驟,如建房必須打地基 起柱子 砌牆 封頂 裝修。單列設計模式 定義是必須保證乙個類在記憶體中只有乙個物件。從應用場景來看又分為 餓漢式單例設計模式,懶漢式單例設計模式。餓漢式單列設計模式步驟 1 私有化建構函式,這樣別人就不能通過new 關鍵隨意建立物件了。...

黑馬程式設計師 設計模式

一 設計模式概述 1 設計模式概念 我們專案中有很多相同的東西,我們把這些相同的東西抽取出來 符合某種規則,這個稱為設計模式。二 簡單工廠模式 1 如果有寫完乙個類不想讓其他人建立這個類的物件怎麼辦?第一種把構造私有化 第二種定義抽象類 2 物件導向的設計原則?對修改關閉,對擴充套件開放 三 工廠方...

黑馬程式設計師 設計模式

第一講 設計模式 1.設計模式概述 設計模式 design pattern 是一套被反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。使用設計模式是為了可重用 讓 更容易被他人理解 保證 可靠性。2.物件導向思想設計原則 在實際的開發中,我們要想更深入的了解物件導向思想,就必須熟悉前人總結過的...