Java简单工厂模式定义与用法实例分析

 更新时间:2019年07月30日 09:43:05   作者:cakincqm  
这篇文章主要介绍了Java简单工厂模式定义与用法,结合实例形式分析了java简单工厂模式的相关定义与使用技巧,并给出了原理类图进行总结,需要的朋友可以参考下

本文实例讲述了Java简单工厂模式定义与用法。分享给大家供大家参考,具体如下:

一 代码

// 抽象产品(Abstract Product)角色
interface Block {
  public void print();
}
// 具体产品角色
class IBlock implements Block {
  public void print() {
    System.out.println("我是一个I形的方块!");
  }
}
// 具体产品角色
class LBlock implements Block {
  public void print() {
    System.out.println("我是一个L形的方块!");
  }
}
// 工厂(Factory)角色
class Factory {
  public static Block getInstance( String className ) {
    switch (className) {
      case "IBlock":
        return new IBlock();
      case "LBlock":
        return new LBlock();
      default:
        return null;
    }
  }
}
// 客户端
public class TestSimpleFactory {
  public static void main( String[] args ) {
    Block iBlock = Factory.getInstance("IBlock");// 用工厂生产一个 I 形方块
    iBlock.print();
    Block lBlock = Factory.getInstance("IBlock");// 用工厂生产一个 L 形方块
    lBlock.print();
  }
}

二 运行

我是一个I形的方块!
我是一个I形的方块!

三 类图

更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

相关文章

  • java ExecutorService使用方法详解

    java ExecutorService使用方法详解

    这篇文章主要为大家详细介绍了java ExecutorService使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • SpringSecurity 认证实现流程分析

    SpringSecurity 认证实现流程分析

    SpringSecurity框架通过一个过滤器链来处理认证和授权,主要包括UsernamePasswordAuthenticationFilter负责处理登录请求,本文给大家介绍SpringSecurity 认证实现登录校验,感兴趣的朋友跟随小编一起看看吧
    2024-10-10
  • Java解析XML的四种方式

    Java解析XML的四种方式

    本文详细讲解了Java解析XML的四种方式,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • springboot通过SchedulingConfigurer实现多定时任务注册及动态修改执行周期(示例详解)

    springboot通过SchedulingConfigurer实现多定时任务注册及动态修改执行周期(示例详解)

    这篇文章主要介绍了springboot通过SchedulingConfigurer实现多定时任务注册及动态修改执行周期,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • Spring Boot Test详解

    Spring Boot Test详解

    Spring Test与JUnit等其他测试框架结合起来,提供了便捷高效的测试手段,而Spring Boot Test 是在Spring Test之上的再次封装,增加了切片测试,增强了mock能力,这篇文章主要介绍了Spring Boot Test介绍,需要的朋友可以参考下
    2024-02-02
  • java实现String字符串处理各种类型转换

    java实现String字符串处理各种类型转换

    在日常的程序开发中,经常会涉及到不同类型之间的转换,本文主要介绍了String字符串处理各种类型转换,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • SpringBoot详细讲解静态资源导入的实现

    SpringBoot详细讲解静态资源导入的实现

    在Web开发过程中,我们需要接触许多静态资源,如CSS、JS、图片等;在之前的开发中,这些资源都放在Web目录下,用到的时候按照对应路径访问即可。不过在SpringBoot项目中,没有了Web目录,那这些静态资源该放到哪里去,又要如何访问呢?这就是我们要讲的静态资源导入
    2022-05-05
  • Java8深入学习系列(三)你可能忽略了的新特性

    Java8深入学习系列(三)你可能忽略了的新特性

    一提到Java 8就只能听到lambda,但这不过是其中的一个而已,Java 8还有许多新的特性,有一些功能强大的新类或者新的用法,还有一些功能则是早就应该加到Java里了,所以下面这篇文章主要给大家介绍了关于Java8中大家可能忽略了的一些新特性,需要的朋友可以参考下。
    2017-08-08
  • 深入解析Java并发程序中线程的同步与线程锁的使用

    深入解析Java并发程序中线程的同步与线程锁的使用

    这篇文章主要介绍了深入解析Java并发编程中线程的同步与线程锁的使用,synchronized和lock是Java中最常见的控制线程的方法,需要的朋友可以参考下
    2016-03-03
  • java联调生成测试数据工具类方式

    java联调生成测试数据工具类方式

    这篇文章主要介绍了java联调生成测试数据工具类方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03

最新评论