概念:由一个工厂对象决定创建出哪一种产品类的实例。

 public class Practice14 {

     public static void main(String[] args) {
// TODO Auto-generated method stub
//偶合:使用者直接使用了具体的类,表示当前类依赖该具体类,这样的话当这个具体类发生变化,使用者将会受到影响
/*TclPhone phone=new TclPhone();
phone.working();*/ //通过引入工厂类,不依赖具体类,依赖接口
Work work=Factory.getWork("tv");
if(work!=null)work.working();
}
}
//工厂类
class Factory{
public static Work getWork(String product){
if("phone".equals(product)){
return new TclPhone();
}else if("tv".equals(product)){
return new TclTv();
}else
return null;
}
} interface Work{
public void working();
} class TclPhone implements Work{
public void working(){
System.out.println("正常开机,请使用");
}
} class TclTv implements Work{
public void working(){
System.out.println("正常开机,请选择您要观看的节目");
}
}

最新文章

  1. 三分钟学会用 js + css3 打造酷炫3D相册
  2. [硬件项目] 2、汽车倒车雷达设计——基于专用倒车雷达芯片GM3101的设计方案与采用CX20106A红外线检测芯片方案对比
  3. 让浏览器屏蔽js
  4. Strom学习笔记一
  5. linux的getcwd和readlink的区别
  6. c/c++测试程序运行时间
  7. CSS3 制作向左、向右及关闭图标的效果
  8. lo dash api
  9. Android开发8:数据存储(二)——SQLite数据库和ContentProvider的使用
  10. Unity - 通过降低精度减少动画文件的大小
  11. Java钉钉开发_01_开发前的准备
  12. .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比
  13. 代码,java_web
  14. Getting.Started.with.Unity.2018.3rd.Edition
  15. opencv 彩色图像分割(inrange)
  16. LeetCode872. Leaf-Similar Trees
  17. 实战zabbix3.0.2 使用percona mysql插件监控mysql5.7
  18. .NET MVC自定义Html辅助方法
  19. chromium之MessageLoop浅析
  20. 前端开发之CSS入门篇

热门文章

  1. 【Android学习笔记】 点击穿透(Click Through)
  2. 用Raspberry Pi搭建Azure IOT解决方案
  3. 第 七 课 go的运算符
  4. 问题:C# Dictionary嵌套使用;结果:嵌套Dictionary添加 , C#2.0泛型详细介绍
  5. ueditor1.4.3jsp版成功上传图片后却回显不出来与在线管理显示不出图片的解决方案
  6. elasticsearch2.x插件之一:kibana
  7. neon eclipse tomcat发布项目乱码
  8. eos命令
  9. 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU特性介绍(2)- RT685EVKA性能实测(Dhrystone)
  10. C++基础之类和对象一