JAVA简单工厂模式(从现实生活角度理解代码原理)
发布时间 - 2026-01-11 00:10:04 点击率:次简单工厂模式(Simple Factory),说他简单是因为我们可以将此模式比作一个简单的民间作坊,他们只有固定的生产线生产固定的产品。也可以称他为静态工厂设计模式,类似于之前提到过静态代理设计模式,一条生产线生产一种产品(一个代理代理一种业务),为了方便大家理解,我们将KFC比作一个简单的工厂,实现代码如下:
//建造接口(或者抽象类)提供食物生产方法
interface Food{
public abstract void get();
}
//汉堡类(后厨生产线)来实现食物生产方法
class Hamburger implements Food{
public void get(){
System.out.println("汉堡来了");
}
}
//炸鸡类(后厨生产线)来实现食物生产方法
class Chicken implements Food{
public void get(){
System.out.println("炸鸡来了");
}
}
//KFC(静态工厂类)
class KFC{
//提供获取食物的方法(传入的参数name为食客所点食物)
public static Food getFood(String name){
/*如果所点食物是炸鸡/汉堡(见名知义)
*则实例化该生产线(通知对应后厨生产线)
*/
if(name.equals("炸鸡")){
return new Chicken();
}
if(name.equals("汉堡")){
return new Hamburger();
}
return null;
}
}
//测试类
public class Test{
public static void main(String[] args){
KFC kfc = new KFC();//实例化KFC
Food m = kfc.getFood("炸鸡");
Food n = kfc.getFood("hanbao");//输入的字符串不符合工厂类对应值
try{
m.get();
n.get();
//添加异常处理(如果没有对应生产线则提示异常处理结果)
}catch(NullPointerException e){
System.out.print("没有你要的食物");
}
}
}
输出结果:
1 炸鸡来了 2 没有你要的食物
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# java简单工厂模式代码
# java工厂模式例子
# java
# 工厂模式
# 浅谈Java面向接口编程
# 以Java代码为例讲解设计模式中的简单工厂模式
# 浅析Java设计模式编程中的单例模式和简单工厂模式
# java设计模式之简单工厂模式简述
# 简单工厂模式_动力节点Java学院整理
# Java简单工厂模式定义与用法实例分析
# Java设计模式之工厂模式分析【简单工厂、工厂方法、抽象工厂】
# Java设计模式之抽象工厂模式
# 深入理解java三种工厂模式
# Java设计模式之工厂模式(Factory模式)介绍
# java 工厂模式的讲解及优缺点的介绍
# Java面向接口编程之简单工厂模式示例
# 来了
# 你要
# 来实现
# 是因为
# 我们可以
# 如果没有
# 说他
# 不符合
# 到过
# 他为
# 将此
# 类似于
# 抽象类
# Food
# KFC
# public
# abstract
# void
# interface
# pre
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
如何登录建站主机?访问步骤全解析
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】
安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出
香港服务器选型指南:免备案配置与高效建站方案解析
如何快速生成可下载的建站源码工具?
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
怎么用AI帮你为初创公司进行市场定位分析?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
Linux系统命令中tree命令详解
Laravel如何优化应用性能?(缓存和优化命令)
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
如何在云指建站中生成FTP站点?
Laravel Session怎么存储_Laravel Session驱动配置详解
独立制作一个网站多少钱,建立网站需要花多少钱?
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
如何用虚拟主机快速搭建网站?详细步骤解析
移动端脚本框架Hammer.js
MySQL查询结果复制到新表的方法(更新、插入)
C++用Dijkstra(迪杰斯特拉)算法求最短路径
Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程
Laravel如何使用Collections进行数据处理?(实用方法示例)
js实现获取鼠标当前的位置
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
jQuery 常见小例汇总
WordPress 子目录安装中正确处理脚本路径的完整指南
悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤
黑客如何通过漏洞一步步攻陷网站服务器?
Laravel如何使用withoutEvents方法临时禁用模型事件
装修招标网站设计制作流程,装修招标流程?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】
如何在景安云服务器上绑定域名并配置虚拟主机?
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
再谈Python中的字符串与字符编码(推荐)
百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏
如何快速搭建安全的FTP站点?
HTML 中如何正确使用模板变量为元素的 name 属性赋值
Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】
Laravel如何实现API版本控制_Laravel版本化API设计方案
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
Laravel如何使用Vite进行前端资源打包?(配置示例)
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
下一篇:如何用AI一键给视频自动加字幕
下一篇:如何用AI一键给视频自动加字幕

