Java工廠模式定義與用法實(shí)例分析
本文實(shí)例講述了Java工廠模式定義與用法。分享給大家供大家參考,具體如下:
一 代碼
// 抽象產(chǎn)品 interface Block { public void print(); } // 具體產(chǎn)品 class IBlock implements Block { @Override public void print() { System.out.println("我是一個(gè)I形的方塊!"); } } // 具體產(chǎn)品 class LBlock implements Block { @Override public void print() { System.out.println("我是一個(gè)L形的方塊!"); } } // 抽象工廠 interface Factory { public Block getInstance(); } // 具體工廠 class IBlockFactory implements Factory { @Override public Block getInstance() { return new IBlock(); } } // 具體工廠 class LBlockFactory implements Factory { @Override public Block getInstance() { return new LBlock(); } } // 客戶端 public class TestAdvancedFactory { public static void main( String[] args ) { // 創(chuàng)建一個(gè)生產(chǎn) I 形方塊的工廠 Factory iBlockFactory = new IBlockFactory(); // 用工廠生產(chǎn)一個(gè) I 形方塊 Block iBlock = iBlockFactory.getInstance(); iBlock.print(); // 創(chuàng)建一個(gè)生產(chǎn) L 形方塊的工廠 Factory LBlockFactory = new LBlockFactory(); // 用工廠生產(chǎn)一個(gè) L 形方塊 Block lBlock = LBlockFactory.getInstance(); lBlock.print(); } }
二 運(yùn)行
我是一個(gè)I形的方塊!
我是一個(gè)L形的方塊!
三 類圖
更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
- 深入理解java三種工廠模式
- Java設(shè)計(jì)模式之工廠模式(Factory模式)介紹
- java 工廠模式的講解及優(yōu)缺點(diǎn)的介紹
- java 單例模式和工廠模式實(shí)例詳解
- Java設(shè)計(jì)模式之靜態(tài)工廠模式詳解
- java 工廠模式的實(shí)例詳解
- Java設(shè)計(jì)模式之抽象工廠模式實(shí)例詳解
- 23種設(shè)計(jì)模式(2) java工廠模式
- java設(shè)計(jì)模式之簡單工廠模式
- Java設(shè)計(jì)模式之裝飾者模式詳解和代碼實(shí)例
- Java開發(fā)中的23種設(shè)計(jì)模式詳解(推薦)
相關(guān)文章
詳解Java8中的lambda表達(dá)式、::符號(hào)和Optional類
這篇文章主要介紹了Java8中的lambda表達(dá)式、::符號(hào)和Optional類,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04java實(shí)現(xiàn)學(xué)生教師管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)學(xué)生教師管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-10-10Java數(shù)據(jù)類型分類與基本數(shù)據(jù)類型轉(zhuǎn)換
這篇文章主要介紹了Java數(shù)據(jù)類型分類與基本數(shù)據(jù)類型轉(zhuǎn)換,Java的數(shù)據(jù)類型主要分為兩類,基本數(shù)據(jù)類型、引用數(shù)據(jù)類型,下文詳細(xì)介紹,感興趣的朋友可以參考一下2022-07-07Spring boot啟動(dòng)流程之解決循環(huán)依賴的方法
循環(huán)依賴,指的是兩個(gè)bean之間相互依賴,形成了一個(gè)循環(huán),spring解決循環(huán)依賴的方式是在bean的實(shí)例化完成之后,所以不要在構(gòu)造方法中引入循環(huán)依賴,因?yàn)檫@時(shí)對(duì)象還沒有實(shí)例化,spring也無法解決,本文給大家介紹Spring boot循環(huán)依賴的解決方法,一起看看吧2024-02-02Java以struts2為例介紹如何實(shí)現(xiàn)圖片上傳
這篇文章主要介紹了Java struts2中如何實(shí)現(xiàn)圖片上傳的相關(guān)資料,需要的朋友可以參考下2015-11-11SpringBoot前后端交互、全局異常處理之后端異常信息拋到前端顯示彈窗
Spring Boot是一個(gè)用于構(gòu)建獨(dú)立的、基于生產(chǎn)級(jí)別的Spring應(yīng)用程序的框架,下面這篇文章主要給大家介紹了關(guān)于SpringBoot前后端交互、全局異常處理之后端異常信息拋到前端顯示彈窗的相關(guān)資料,需要的朋友可以參考下2024-08-08VSCode新手教程之配置Java環(huán)境的詳細(xì)教程
這篇文章主要給大家介紹了關(guān)于VSCode新手教程之配置Java環(huán)境的詳細(xì)教程,工欲善其事必先利其器,想要工作順利我們先搭建好JAVA的開發(fā)環(huán)境,需要的朋友可以參考下2023-10-10