




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第10章:類結(jié)構(gòu)擴(kuò)展構(gòu)造方法私有化單例設(shè)計(jì)單例設(shè)計(jì)模式指的是在整個(gè)系統(tǒng)中一個(gè)類只允許提供一個(gè)實(shí)例化對(duì)象,為實(shí)現(xiàn)此要求就可以通過private進(jìn)行構(gòu)造方法的封裝,這樣該類將無法在類的外部利用關(guān)鍵字new實(shí)例化新的對(duì)象,同時(shí)為了方便使用本類的方法,則可以在內(nèi)部提供有一個(gè)全局實(shí)例化對(duì)象供用戶使用。范例:?jiǎn)卫O(shè)計(jì)模式packagecn.mldn.demo;classSingleton{ //單例程序類
//在類內(nèi)部進(jìn)行Single類對(duì)象實(shí)例化,為了防止可能出現(xiàn)重復(fù)實(shí)例化所以使用final標(biāo)記
privatestaticfinalSingletonINSTANCE=newSingleton(); privateSingleton(){} //構(gòu)造方法私有化,外部無法通過關(guān)鍵字new實(shí)例化
/** *獲取本類實(shí)例化對(duì)象方法,static方法可以不受實(shí)例化對(duì)象的限制進(jìn)行調(diào)用 *@returnINSTANCE內(nèi)部實(shí)例化對(duì)象,不管調(diào)用多少次此方法都只返回同一個(gè)實(shí)例化對(duì)象 */
publicstaticSingletongetInstance(){ returnINSTANCE; } publicvoidprint(){ //信息輸出
System.out.println(""); }}publicclassJavaDemo{ publicstaticvoidmain(Stringargs[]){ //在外部不管有多少個(gè)Singleton類對(duì)象,實(shí)質(zhì)上最終都只調(diào)用唯一的一個(gè)Singleton類實(shí)例
Singletoninstance=null; //聲明對(duì)象
instance=Singleton.getInstance(); //獲取實(shí)例化對(duì)象
instance.print();//通過實(shí)例化對(duì)象調(diào)用方法
}}范例:定義懶漢式單例設(shè)計(jì)模式packagecn.mldn.demo;classSingleton{ //單例程序類
//定義公共的instance屬性,由于需要在第一次使用時(shí)實(shí)例化,所以無法通過關(guān)鍵字final定義
privatestaticSingletoninstance; /聲明本類對(duì)象
privateSingleton(){}//構(gòu)造方法私有化,外部無法通過關(guān)鍵字new實(shí)例化
/** *獲取本類實(shí)例化對(duì)象方法,static方法可以不受實(shí)例化對(duì)象的限制進(jìn)行調(diào)用 *@return返回唯一的一個(gè)Singleton類的實(shí)例化對(duì)象 */
publicstaticSingletongetInstance(){ if(instance==null){ //第一次使用時(shí)對(duì)象未實(shí)例化
instance=newSingleton(); //實(shí)例化對(duì)象
}
returninstance; //返回實(shí)例化對(duì)象
}
publicvoidprint(){//信息輸出
System.out.println(""); }}publicclassJavaDemo{ publicstaticvoidmain(Stringargs[]){ //在外部不管有多少個(gè)Singleton類對(duì)象,實(shí)質(zhì)上最終都只調(diào)用唯一的一個(gè)Singleton類實(shí)例
Singletoninstance=null; //聲明對(duì)象
instance=Singleton.getInstance(); //獲取實(shí)例化對(duì)象
instance.print(); //通過實(shí)例化對(duì)象調(diào)用方法
}}范例:實(shí)現(xiàn)多例設(shè)計(jì)模式packagecn.mldn.demo;classColor{ //定義描述顏色的類
//在類內(nèi)部提供有若干個(gè)實(shí)例化對(duì)象,如果為了方便管理也可以通過對(duì)象數(shù)組的形式定義
private
static
finalColorRED=newColor("紅色");//實(shí)例化對(duì)象
private
static
finalColorGREEN=newColor("綠色");//實(shí)例化對(duì)象
private
static
finalColorBLUE=newColor("藍(lán)色");//實(shí)例化對(duì)象
privateStringtitle; //成員屬性
privateColor(Stringtitle){ //構(gòu)造方法私有化
this.title=title; //成員屬性初始化 }
public
staticColorgetInstance(Stringcolor){//獲取實(shí)例化對(duì)象
switch(color){ //判斷對(duì)象類型
case
"red“: return
RED;
case
"green“: return
GREEN;
case
"blue“: return
BLUE;
default: return
null; } }
publicStringtoString(){ //對(duì)象打印時(shí)調(diào)用
return
this.title;}}public
classJavaDemo{
public
static
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 政府征用酒店合同范本
- 2025年中國(guó)半自動(dòng)堆高車市場(chǎng)調(diào)查研究報(bào)告
- 橋涵建筑承攬合同范本
- 2025年中國(guó)佛具貼金市場(chǎng)調(diào)查研究報(bào)告
- 包船運(yùn)輸合同范本
- 公共魚塘承包合同范本
- 標(biāo)準(zhǔn)叉車租賃合同范本
- 獨(dú)立門面房買賣合同全文
- 物流園區(qū)員工入職合同范文
- 大型客車保險(xiǎn)合同案例
- 2024落實(shí)意識(shí)形態(tài)責(zé)任清單及風(fēng)險(xiǎn)點(diǎn)臺(tái)賬
- 高校排球教案全集-專項(xiàng)課
- 教師師德師風(fēng)培訓(xùn)專題課件
- 2024年鄉(xiāng)鎮(zhèn)綜合行政執(zhí)法工作總結(jié)模板
- 手術(shù)室壓瘡預(yù)防課件
- 中國(guó)假肢行業(yè)分析報(bào)告:進(jìn)出口貿(mào)易、行業(yè)現(xiàn)狀、前景研究(智研咨詢發(fā)布)
- 牛肉干市場(chǎng)洞察報(bào)告
- 《Photoshop CC圖像處理》課件-任務(wù)9 使用時(shí)間軸與動(dòng)作
- 04S519小型排水構(gòu)筑物(含隔油池)圖集
- 2024中國(guó)糖尿病合并慢性腎臟病臨床管理共識(shí)解讀
- 中職《生理學(xué)》課件第一章-緒論
評(píng)論
0/150
提交評(píng)論