博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java开发中使用的工厂设计模式
阅读量:5283 次
发布时间:2019-06-14

本文共 1200 字,大约阅读时间需要 4 分钟。

package gongchangdemo;/* * 在java开发中使用较多的一种设计模式:工厂模式:就是一个过渡端 * 通过过度端来取得接口的实例化对象,这个过渡端就称为工厂factory * 这个模式主要是为了解决修改子类,必须要修改main方法,而main方法主要是客户端,客户端 * 经常变来变去不太好,就引进:工厂模式 */public class gongchangdemo {public static void main(String args[]) {    //getinstance 方法是静态的所以可以用类名直接调用    //fruit f =null ;    //f = factory.getinstance("apple");    //f.eat();    //上面写得apple是固定的,能否通过初始化参数的方法,则可以选择任意的子类去标记    fruit f = null;    f = factory.getinstance(args[0]);    if (f!=null) {        f.eat();    }    }}//写一个接口interface fruit{    //写一个吃的抽象类    public abstract void eat();}//写一个子类去实现fruitclass apple implements fruit{    public void eat(){        System.out.println("我在吃苹果");    }}//再写一个子类去实现fruitclass orange implements fruit{    public void eat(){        System.out.println("我在吃橘子");    }}//写一个过渡端 类factory,获取接口的实例化对象class factory{    //返回 fruit类型的,所以用fruit修饰    public static fruit getinstance(String classname){        //先初始化        fruit f =null;        //传过来的参数与子类名对比        if ("apple".equals(classname)) {            f = new apple();        }        if ("orange".equals(classname)) {            f = new orange();        }        return f;    }    }

 

转载于:https://www.cnblogs.com/yuanyuan2017/p/6562009.html

你可能感兴趣的文章
第四百七十三天 how can I 坚持
查看>>
static的功能
查看>>
java生成验证码图片
查看>>
THREADSPOOL
查看>>
jira集成fisheye代码深度查看工具安装绿色版
查看>>
C#跨线程操作控件的最简单实现探究
查看>>
Ubuntu server12.04安装JDK+Tomcat+mysql
查看>>
brock pallet
查看>>
hihocoder--1384 -- Genius ACM (倍增 归并)
查看>>
NowCoder--牛客练习赛30 C_小K的疑惑
查看>>
C++中GB2312字符串和UTF-8之间的转换
查看>>
透视图扩展 Perspective Extensions
查看>>
espeak
查看>>
【VS开发】VC下加载JPG/GIF/PNG图片的两种方法
查看>>
一篮子苹果,每天吃一半多一个吃,第十天吃一半多一个后就剩余一个,求一共多少个苹果,JAVA版...
查看>>
css——display: flex之垂直方向布局的具体实践
查看>>
vue基础——路由懒加载
查看>>
Oracle sql优化示例
查看>>
sql-向已有数据的表添加约束
查看>>
Angularjs的核心概念
查看>>