java设计模式之简单工厂模式详解

 更新时间:2017年09月28日 10:01:04   作者:emojiH  
这篇文章主要介绍了java设计模式之简单工厂模式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

简单工厂模式:由一个工厂对象决定创建出哪一种类的实例。

1.抽象类

public abstract class People {
  public abstract void doSth();
}

2.具体类

public class Man extends People{
  @Override
  public void doSth() {
    System.out.println("I'm a man,I'm coding.");
  }
}

3.具体类

public class Girl extends People{

  @Override
  public void doSth() {
    System.out.println("I'm a girl,I'm eating.");
  }
}

4.工厂

public class PeopleFactory {

  public static People getSpecificPeople(String type){
    if("A-Man".equals(type)){
      return new Man();
    }else if("B-Girl".equals(type)){
      return new Girl();
    }else {
      return null;
    }
  }
}

5.测试代码

public class PeopleTestDemo {
  public static void main(String[] args) {
    People man = PeopleFactory.getSpecificPeople("A-Man");
    Objects.requireNonNull(man,"对象不存在.");
    man.doSth();

    People girl = PeopleFactory.getSpecificPeople("B-Girl");
    Objects.requireNonNull(girl,"对象不存在");
    girl.doSth();

    People foodie = PeopleFactory.getSpecificPeople("Foodie");
    Objects.requireNonNull(foodie,"对象不存在");
    foodie.doSth();
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Spring Task定时任务使用

    Spring Task定时任务使用

    这篇文章主要介绍了Spring Task定时任务使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Java中的自动装箱与自动拆箱的实现

    Java中的自动装箱与自动拆箱的实现

    自动装箱和自动拆箱使得我们在使用基本数据类型时更加方便,同时也提高了代码的可读性和健壮性,本文将详细介绍Java中的自动装箱和自动拆箱机制,感兴趣的可以了解一下
    2023-08-08
  • springboot学习之构建简单项目搭建步骤详解

    springboot学习之构建简单项目搭建步骤详解

    这篇文章主要介绍了springboot学习之构建简单项目搭建步骤详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • Mybatis-Plus中update()和updateById()将字段更新为null

    Mybatis-Plus中update()和updateById()将字段更新为null

    本文主要介绍了Mybatis-Plus中update()和updateById()将字段更新为null,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Java中Flux类的使用方法和示例代码

    Java中Flux类的使用方法和示例代码

    在Java编程中Flux是一种处理响应式编程的库,它提供了一种异步数据流处理的方式,这篇文章主要给大家介绍了关于Java中Flux类的使用方法和示例代码,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-08-08
  • UrlRewrite 重写url详解及实例

    UrlRewrite 重写url详解及实例

    这篇文章主要介绍了UrlRewrite 重写url详解及实例的相关资料,重写能美化,提高安全,有利于搜索引擎的收入等,需要的朋友可以参考下
    2016-12-12
  • java自定义日志输出文件(log4j日志文件输出多个自定义日志文件)

    java自定义日志输出文件(log4j日志文件输出多个自定义日志文件)

    打印日志的在程序中是必不可少的,如果需要将不同的日志打印到不同的地方,则需要定义不同的Appender,然后定义每一个Appender的日志级别、打印形式和日志的输出路径,下面看一个示例吧
    2014-01-01
  • Java连接postgresql数据库的示例代码

    Java连接postgresql数据库的示例代码

    本篇文章主要介绍了Java连接postgresql数据库的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • java全角、半角字符的关系以及转换详解

    java全角、半角字符的关系以及转换详解

    这篇文章主要介绍了
    2013-11-11
  • springboot+springmvc实现登录拦截

    springboot+springmvc实现登录拦截

    这篇文章主要介绍了springboot+springmvc实现登录拦截,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10

最新评论