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 】
相关推荐:
js实现获取鼠标当前的位置
敲碗10年!Mac系列传将迎来「触控与联网」双革新
利用JavaScript实现拖拽改变元素大小
如何在阿里云服务器自主搭建网站?
Laravel怎么自定义错误页面_Laravel修改404和500页面模板
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
桂林网站制作公司有哪些,桂林马拉松怎么报名?
Laravel安装步骤详细教程_Laravel环境搭建指南
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
nginx修改上传文件大小限制的方法
如何获取上海专业网站定制建站电话?
Laravel集合Collection怎么用_Laravel集合常用函数详解
Java遍历集合的三种方式
如何在阿里云虚拟主机上快速搭建个人网站?
Laravel定时任务怎么设置_Laravel Crontab调度器配置
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程
如何解决hover在ie6中的兼容性问题
Laravel如何处理表单验证?(Requests代码示例)
教学论文网站制作软件有哪些,写论文用什么软件
?
清除minerd进程的简单方法
北京企业网站设计制作公司,北京铁路集团官方网站?
如何在宝塔面板创建新站点?
C#如何调用原生C++ COM对象详解
如何确保FTP站点访问权限与数据传输安全?
Linux系统运维自动化项目教程_Ansible批量管理实战
打造顶配客厅影院,这份100寸电视推荐名单请查收
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
Laravel怎么清理缓存_Laravel optimize clear命令详解
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
如何彻底删除建站之星生成的Banner?
Python自然语言搜索引擎项目教程_倒排索引查询优化案例
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
html5的keygen标签为什么废弃_替代方案说明【解答】
如何在VPS电脑上快速搭建网站?
Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】
EditPlus 正则表达式 实战(3)
网站建设要注意的标准 促进网站用户好感度!
JavaScript如何实现倒计时_时间函数如何精确控制
HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】
如何快速完成中国万网建站详细流程?
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
如何在宝塔面板中创建新站点?
如何用5美元大硬盘VPS安全高效搭建个人网站?
php json中文编码为null的解决办法
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口
如何在IIS管理器中快速创建并配置网站?
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
javascript基于原型链的继承及call和apply函数用法分析
下一篇:如何用AI一键给视频自动加字幕
下一篇:如何用AI一键给视频自动加字幕

