博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
工厂模式
阅读量:7294 次
发布时间:2019-06-30

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

hot3.png

定义接口:

package com.whereta.factory;/** * Vincent 创建于 2016/4/15. */public interface IPerson {    void say();}

定义实现类:

package com.whereta.factory;/** * Vincent 创建于 2016/4/15. */public class Man implements IPerson {    public void say() {        System.out.println("我是男人");    }}
package com.whereta.factory;/** * Vincent 创建于 2016/4/15. */public class Woman implements IPerson {    public void say() {        System.out.println("我是女人");    }}

定义工厂类:

package com.whereta.factory;/** * Vincent 创建于 2016/4/15. */public class PersonFactory {    public static IPerson getMan(){        return new Man();    }    public static IPerson getWoman(){        return new Woman();    }}

测试:

package com.whereta.factory;/** * Vincent 创建于 2016/4/15. * 工厂模式适应于实现了同一个接口的类的创建 */public class Main {    public static void main(String[] args) {        IPerson man = PersonFactory.getMan();        man.say();        IPerson woman = PersonFactory.getWoman();        woman.say();    }}

输出结果:

Connected to the target VM, address: '127.0.0.1:51565', transport: 'socket'我是男人我是女人Disconnected from the target VM, address: '127.0.0.1:51565', transport: 'socket'Process finished with exit code 0

个人博客:

转载于:https://my.oschina.net/vincentzhao/blog/659990

你可能感兴趣的文章
泛型简要原理
查看>>
poj 1254 Hansel and Grethel
查看>>
VirtualBox安装CentOS7
查看>>
Java豆瓣电影爬虫——抓取电影详情和电影短评数据
查看>>
如何让程序在后台执行
查看>>
bzoj3296[USACO2011 Open] Learning Languages*
查看>>
关于浮动元素对父元素高度的影响
查看>>
Mysql 关键字的优先级 分组 多表联查
查看>>
java 调用js
查看>>
iOS开发UI篇—Quartz2D使用(图形上下文栈)
查看>>
Oracle迁移MySQL笔记
查看>>
Building a Pub/Sub Message Bus with Wcf,Msmq,IIS
查看>>
Mybatis实现批量删除
查看>>
【leetcode】995. Minimum Number of K Consecutive Bit Flips
查看>>
【洛谷 P4886】 快递员 (点分治)
查看>>
在Ajax中将数组转换成字符串(0517-am)
查看>>
hive字符串函数
查看>>
【erlang ~ 4 days】 Day # 1.2 Sequential Programming
查看>>
HDFS Erasure Coding介绍
查看>>
abstract vs interface
查看>>