`
cii001
  • 浏览: 24366 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

一个简单例子解释 Java 工厂模式(zhuan)

 
阅读更多

/**
 * 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接口实例
    }

}

分享到:
评论

相关推荐

    gssdgv-zhuan-ke-master_java_

    《蚂蚁集团开源的Java研发框架——gssdgv-zhuan-ke-master_java_详解》 在现代软件开发中,高效、稳定且易维护的框架是项目成功的关键因素之一。蚂蚁集团作为全球知名的金融科技公司,其开源的Java研发框架——...

    ban-zhuan.zip_JAVA穷举法搬砖_搬砖_用JAVA穷举法

    在给定的“ban-zhuan.zip_JAVA穷举法搬砖”主题中,我们面对的是一个数学问题,该问题与实际的砖块分配有关。36块砖需要36个人来搬运,其中包括男性、女性和小孩,他们各自有不同的搬运能力。男性每次能搬4块砖,...

    zhuan_java_untilgw8_android_

    标题 "zhuan_java_untilgw8_android_" 暗示了这是一个关于使用Java语言在UntilGW8平台上开发Android游戏的项目,特别是一款简单的打砖块游戏。在这个项目中,我们可以深入学习到Java编程语言、Android应用开发的基础...

    java面试题目与技巧1

    │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+...

    java面试题及技巧4

    │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+...

    zhuan 2.zip

    在这个名为"zhuan 2.zip"的压缩包中,包含了一个支持移动端的转盘抽奖程序。这个程序的核心是通过JavaScript实现,使得用户可以通过点击来触发抽奖过程,从而增加用户体验的趣味性和参与度。 首先,我们来看“转盘...

    java面试题以及技巧

    │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+...

    map key and value

    map、 key' 和 value 的 取值 and so on

    java swing写成的接球小游戏

    Java Swing 是Java GUI(图形用户界面)开发的一个重要库,它是Java AWT(抽象窗口工具包)的扩展,提供了更多的组件和功能。在这个接球小游戏中,开发者利用Swing构建了一个交互式的用户界面,让用户可以通过点击...

    java面试题及技巧3

    │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+...

    java面试题以及技巧6

    │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+...

    List<Long>转一维数组 Long[](csdn)————程序.pdf

    以下是一个简单的示例: ```java List<Long> ids = ...; // 初始化ids Long[] orderIds = new Long[ids.size()]; for (int i = 0; i (); i++) { orderIds[i] = ids.get(i); } ``` 这种方式更直接,但不如使用流...

    Map_out.rar_Map o_mapgis_mapgis noteo_mapgis zhuan jpg_out

    标题中的"Map_out.rar"可能是指一个RAR压缩文件,它包含了一个名为"Map_out"的文件或目录。"Map o_mapgis_mapgis noteo_mapgis zhuan jpg_out"这部分可能是描述了这个压缩包的主要功能或者过程,即MapGIS的二次开发...

    自媒体新媒体软件工具自媒体zhuan钱秘诀资料

    自媒体新媒体软件工具自媒体zhuan钱秘诀资料

    z zhuan sec_EH4_EH4Z文件转SEC文件_

    标题中的"z zhuan sec_EH4_EH4Z文件转SEC文件_"表明我们正在处理一个涉及到将EH4或EH4Z格式的文件转换为SEC格式的议题。这个过程可能涉及到特定的工具、编程语言或者协议,尤其是在嵌入式系统中,这些文件格式通常与...

    zhuan-kai-fa

    7. **设计模式**:是解决常见软件设计问题的经验总结,如单例模式、工厂模式、观察者模式等,它们提供了解决复杂问题的蓝图。 8. **数据库**:理解SQL和NoSQL数据库,如MySQL、PostgreSQL、MongoDB等,以及如何优化...

    soho网络zhuan钱的体会.doc

    在SOHO网络赚钱的模式中,通常涉及到以下几个关键知识点: 1. 自主编辑的网站和商城:这是SOHO者的基本工具,通过建立个人或专业网站,展示产品或服务,吸引客户并进行在线交易。学习如何设计、优化网站以及利用...

    zhuan-su-eliang.rar_labview 测_labview 测速_labview测速_labview转速测量_转

    在给定的“zhuan-su-eliang.rar”压缩包中,包含了一个名为“zhuan su eliang.vi”的虚拟仪器(VI),这显然是一款用于转速测量的应用程序。 转速测量是机械工程、汽车工业、电力系统等领域中常见的技术需求。...

    XUAN-ZHUAN-led.zip_旋转LED_旋转LED 自适应_自适应旋转LED

    "XUAN-ZHUAN-led.zip_旋转LED_旋转LED 自适应_自适应旋转LED"这个压缩包文件内容是关于实现旋转LED自适应转速的程序,其核心目标是让LED屏幕上的字幕能够流畅地滚动,并根据设备的转速自动调整滚动速度,以保持最佳...

    2.6.14 内核移植说明文档(zhuan)

    - **加载配置文件**: 通过“Load an Alternate Configuration File”选项加载一个现有的配置文件,例如`linux-2.6.14/arch/arm/configs/smdk2410_defconfig`,之后可以根据实际情况进行修改。 **4. 编译内核** - ...

Global site tag (gtag.js) - Google Analytics