当更换使用的IFruit子类的时候主方法没有任何的变化就可以实现子类的变更,这样的设计就是工厂设计模式。

package com.gwolf.springmvc.factory;

interface IFruit {//定义一个描述水果的操作

public void eat();//吃水果

}

class Apple implements IFruit {

@Override

public void eat() {

System.out.println("削皮吃苹果!");

}

}

class Orange implements IFruit {

@Override

public void eat() {

System.out.println("剥皮吃橘子!");

}

}

class Factory {

public static IFruit getInstance(String className) {

if("apple".equals(className)) {

return new Apple();

}else if("orange".equals(className)) {

return new Orange();

}else {

return null;

}

}

}

public class FactoryDesign {

public static void main(String[] args) {

if(args.length==1) {

IFruit fruit = Factory.getInstance(args[0]);

fruit.eat();

}

}

}

java 接口 设计模式吗_JAVA接口设计模式-工厂模式相关推荐

  1. Java设计模式(二)简单工厂模式—设计模式六大原则

    文章目录 设计模式六大原则 1. 开闭原则 2. 里氏代换原则 3. 依赖倒转原则 4. 接口隔离原则 5. 迪米特法则(最少知道原则) 6. 合成复用原则 工厂设计模式 什么是工厂模式 工厂模式的好 ...

  2. 【Java设计模式】简单学抽象工厂模式——你好,微信还是支付宝

    目录 说明 实现方式 自问自答 其他链接 说明 五大创建型模式之一,其他还有单例模式.原型模式.建造者模式.工厂模式. 抽象工厂模式(Abstract Factory Pattern):定义了一个in ...

  3. 设计模式C#描述之——简单工厂模式、抽象工厂模式、单例与多例模式

    设计模式C#描述之--简单工厂模式 前 言:设计模式是软件开发领域的精髓之一.学好设计模式是目前每一个开发人员的必修课.目前关于设计模式的书很多,其中比较好的有GOF那本的中译本,但并 不很适合初学者 ...

  4. 设计模式(1)--简单工厂模式、策略模式

    设计模式(1)--简单工厂模式.策略模式 1. 简单工厂模式 在阎宏博士的<JAVA与模式>一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static ...

  5. 设计模式(6)——抽象工厂模式(Abstract Factory Pattern,创建型)

    1.概述 使用设计模式可以提高代码的可复用性.可扩充性和可维护性.抽象工厂模式(Abstract Factory Pattern)属于创建型模式,为创建一组相关或者相互依赖的对象(产品族)提供一个抽象 ...

  6. 设计模式(4)—— 简单工厂模式(Simple Factory,创建型)

    1.概述 使用设计模式可以提高代码的可复用性.可扩充性和可维护性.简单工厂模式(Simple Factory Pattern)属于创建型模式.简单工厂模式,由一个工厂对象决定创建出哪一种产品类的实例, ...

  7. java 反射抽象_Java实现抽象工厂模式+java的反射的机制

    Java的反射机制: JAVA反射机制是就是运行的状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法 ...

  8. JAVA常用设计模式(一、单例模式、工厂模式)

    JAVA设计模式之单例模式 import java.util.HashMap; import java.util.Map;/*** 设计模式之单例模式* 单例模式(Singleton Pattern) ...

  9. Java设计模式(5):工厂模式

    5,工厂模式(Factory) 工厂模式在逻辑上可以分为三种:简单工厂模式,工厂方法模式和抽象工厂模式.其中简单工厂模式不属于23种设计模式. 从实际中理解三种工厂模式,大致可以理解为工厂发展的三个阶 ...

  10. java抽象和接口的理解_Java接口实现与抽象类的区别理解 | 彬菌

    版权声明:转载原创文章请以超链接形式请注明原文章出处,尊重作者,尊重原创! 恰饭广告 接口:接口是抽象方法的集合.接口通常以interface来声明. 接口注意事项: 1.严格来说,接口是用来实现(i ...

最新文章

  1. Ubuntu设置宽带连接DSL
  2. 源码阅读 AtomicInteger
  3. mysql数据库模型相应解释_数据库事务系列-MySQL跨行事务模型
  4. mixin机制 vue_vue mixins组件复用的几种方式(小结)
  5. 【白皮书分享】直播社会价值白皮书-字节跳动.pdf(附下载链接)
  6. Microsoft Enterprise Library 5.0 系列(二) Cryptography Application Block (高级)
  7. can 升级软件 上位机 C# 源码 支持STM32升级 提供源码 提供CAN协议
  8. Java开发规范之常量定义篇
  9. python集合排序_集合排序python
  10. 2022卡塔尔世界杯来临,体育界最新创意二维码案例大盘点!
  11. 学好算法,真的需要智商吗?
  12. 词根词缀spers/spher/spir/spond等词根衍生的单词
  13. 徐静蕾2008十大青春语录
  14. 二叉树的顺序存储和三种遍历(二)
  15. 定时器 java qua_spring项目中使用定时任务
  16. 如何解决oracle中文乱码问题,oracle中解决中文乱码问题
  17. oracle查询一小时内数据,ORACLE 查询近一天, 近半小时内的数据
  18. Android--微信支付
  19. 英语字根(转)--推荐
  20. 【服务器数据恢复】nas存储服务器的数据恢复案例

热门文章

  1. Win10的远程桌面
  2. STM32中断应用总结
  3. Android Service: 启动service, 停止service
  4. 05.SQL Server大数据群集小试牛刀--HDFS查询
  5. 为什么使用累积分布函数处理后像素值会均匀分布_亿万级数据处理的高效解决方案
  6. 封装的ADO.NET对数据库操作经典类
  7. 小米超大杯旗舰不叫12 Ultra:或命名为MIX 5 Pro
  8. 产业链人士:在台积电营收中,第一大客户苹果贡献超过20%
  9. 虎扑入股“造物”App关联公司 后者为模玩、手办平台
  10. 苹果赢了!iOS14隐私功能并不违反法国反垄断法