其实工厂模式结构并不复杂,其目的只有一个就是解耦.废话少说看例子吧.这个HelloWorld就足够说明工厂模式在Java语言里的实现方法.

/** *//**

* IOC模式简单实例

*/

/** *//**

* 运行类

*/

public class MainClass {

/** *//**

* 主函数

*/

public static void main(String[] args) {

try {

PrinterFactory.createPrinter().printByString("Hello World~!");

} catch (Exception ex) {

System.out.println(ex.toString());

}

}

}

/** *//**

* Printer接口

*/

interface IF_Printer {

/** *//**

* 接口printByString方法声明

*/

public void printByString(String str);

}

/** *//**

* MyPrinter实现Printer接口

*/

class MyPrinter implements IF_Printer {

public void printByString(String str) {

System.out.println(str);

}

}

/** *//**

* IF_Printer对象工厂,用于创建实现接口的类对象

*/

class PrinterFactory {

/** *//**

* 工厂方法,返回IF_Printer接口实例

*/

public static IF_Printer createPrinter() throws InstantiationException,

ClassNotFoundException, IllegalAccessException {

String str = "MyPrinter";//通过字符串寻找实现接口的类,字符串可从文件中读取获得,从而实现IOC模式

return (IF_Printer) Class.forName(str).newInstance();//返回IF_Printer接口实例

}

}

java语言factory_一个简单例子解释 Java factory相关推荐

  1. Java语言写一个简单的学生信息管理系统,通过JDBC连接数据库对学生信息进行增删改查,采用三层思想和DBUtils第三方框架。

    我把源代码和sql文件放GitHub上了,你们可以自行下载:https://github.com/fenglily1/student. 有问题可以留言或私信,我看到就会回. 进阶版加上页面的管理系统在 ...

  2. 用Java语言写一个简单的值日生

    public class Student {protected String name;public static void main(String[] args) {while(true) {//用 ...

  3. Java Virtual Machine:Java语言的一个非常重要的特点就是与平台的无关性

    Java语言的一个非常重要的特点就是与平台的无关性.而使用Java虚拟机是实现这一特点的关键.一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码.而引入Java语言虚拟机后,Java ...

  4. java爬取网页内容 简单例子(2)——附jsoup的select用法详解

    [背景] 在上一篇博文 java爬取网页内容 简单例子(1)--使用正则表达式 里面,介绍了如何使用正则表达式去解析网页的内容,虽然该正则表达式比较通用,但繁琐,代码量多,现实中想要想出一条简单的正则 ...

  5. 使用Java语言打印一个心形图案

    要使用 Java 语言打印一个心形图案,你可以使用两个 for 循环和一些字符串拼接来实现.你也可以使用 ASCII 码来打印心形图案,这将更加简单. 以下是使用两个 for 循环和字符串拼接的示例代 ...

  6. JAVA同时输入用户名和密码_用java模拟设计一个简单的“用户注册”程序。当用户输入用户名和密码时,单击“注...

    用java模拟设计一个简单的"用户注册"程序.当用户输入用户名和密码时,单击"注 2020 - 9 - 26 TAG : 所有功能均已实现,如有不满意的地方我再修改imp ...

  7. JAVA编写的一个简单的Socket实现的HTTP响应服务器

    JAVA编写的一个简单的Socket实现的HTTP响应服务器,看后就很容易理解Web服务器的原理了. package test.io;import java.net.*; import java.io ...

  8. 使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网)

    使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网) 一,前期准备 1,Java IDE(Eclipse)与JDK的安装与配置 jdk-15.0.1-免配置路径版 提取码:earu 免 ...

  9. 用java语言画一个可视化日历

    用java语言画一个可视化的日历界 package com.zzit.calFrame;import java.text.DateFormat; import java.text.ParseExcep ...

最新文章

  1. android 安装 apk 7.0,android 7.0及以上版本安装apk
  2. 化工设备与反应器 第三章 直梁的弯曲
  3. 针对【H-2017年信息基础班(周一班)】某些同学恶意使用lyl洛谷的谴责
  4. WPF实现拟物旋转按钮
  5. redis创建集群报错can‘t connect to node 192.168.163.203
  6. link2001错误无法解析外部符号metaObject
  7. 多软件启动器 v1.0
  8. python3怎么用_当同时安装Python2和Python3后,如何兼容并切换使用详解(比如pip使用)...
  9. 2016.05.07华为网盘-将会暂停服务的网站一览 - 做好数据迁移的准备哦
  10. Spring的junit4测试集成
  11. 苹果8黑屏无法强制开机_iphonexsmax死机黑屏,iphonexsmax无法开机
  12. java基础——浅析设计模式之单例模式
  13. bp神经网络的应用案例,bp神经网络数学模型
  14. FFT算法(Java实现)
  15. 浏览器怎么截图,这个快捷键截图也太好用了吧
  16. 计算机课里的余数是什么,余数
  17. 易语言修改IP和DNS
  18. 游戏市场阴影下的游戏手机厂商,和他们无法触碰的未来
  19. Action Unit Memory Network for Weakly Supervised Temporal Action Localization 笔记
  20. 无线回程mesh组网从入门到精通【伸手党福利】打破行业壁垒!

热门文章

  1. 90后程序员代码漏洞更多?
  2. 改變HTML中的光標問題
  3. 沟通科技:将引领接入革命第三次浪潮
  4. 修炼一名软件工程师的职业水准
  5. 36岁,程序员,为公司工作8年,昨天HR说公司不准备续约
  6. java 链接重排序_JAVA中JVM的重排序详细介绍
  7. centos java mvn_Linux(centos7)安装JDK1.8与maven
  8. 翻译|给数据科学家的10个提示和技巧Vol.1
  9. R 学习 - 箱线图
  10. 如何在 Mac上使用预览解锁 PDF