1. 程式人生 > >java思考題:設計一個只能建立一個唯一例項的類。

java思考題:設計一個只能建立一個唯一例項的類。

思考題:設計一個只能建立一個唯一例項的類。

有很多地方需要用到只能建立一個例項的類,比如說視窗上的工具箱,如果每次點選工具箱按鈕都會建立一個工具箱例項,那麼視窗中會出現很多工具箱,但是我們想要的是點選工具箱如果沒有就出現,有了就不再出現了,這就需要用到單例模式。

文章內容取自《大話設計模式》 程傑著

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

通常我們可以讓一個全域性變數使得一個物件被訪問,但它不能防止你例項化多個物件。一個最好的方法就是,讓類自身負責儲存它的唯一例項。這個類可以保證沒有其他例項被建立,並且它可以提供一個訪問該例項的方法。

Singleton類,定義一個GetInstance操作,允許客戶訪問它的唯一例項。GetInstance是一個靜態方法,主要負責建立自己的唯一例項



單例模式因為singleton 類封裝它的唯一例項,這樣它就可以嚴格地控制客戶怎樣訪問它以及何時訪問它。簡單地說就是對唯一例項的受控訪問。