4.4.4 Factory方法
静态方法还有一种常见的用途。NumberFormat类使用factory产生不同风格的格式对象。
- NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance();
- NumberFormat percentFormatter = NumberFormat.getPercentInstance();
- double x = 1.0;
- System.out.println(currencyFormaatter.format(x)); //prints $0.10
- System.out.println(percentFormatter.format(x)); //prints 10%
为什么NumberFormat类不利用构造器完成这些操作呢?这主要有两个原因:
- 无法命名构造器。构造器的名字必须与类同名。但是,这里希望得到的货币实例和百分比实例采用不同的名字。
- 当使用构造器时,无法改变所构造的对象类型。而Factory方法将返回一个DecimalFormat类的对象,这是NumberFormat的子类(有关继承的详细内容请参看第五章)。
转载于:https://blog.51cto.com/mrwucg/1058237
4.4.4 Factory方法相关推荐
- java框架就是调库吗_关于java:Factory方法更适合框架和抽象工厂库吗?
Abstract Factory和Factory方法模式都是创建设计模式,它解决了不同场景下的对象创建问题. 根据GOF工厂方法模式 Define an interface for creating ...
- java中factory方法_Java的23中设计模式--工厂方法模式(Factory Method)
1.普通工厂模式 工厂类 /*** @Title Factory.java * @Package factory.factory1 * @date 2015-1-22 上午10:16:02 *@ver ...
- 工厂方法(Factory Method)模式
一.工厂方法(Factory Method)模式 工厂方法(FactoryMethod)模式是类的创建模式,其用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟的子类中. 工厂方法模式是简单工厂 ...
- Spring 通过工厂方法(Factory Method)来配置bean
在spring的世界中, 我们通常会利用bean config file 或者 annotation注解方式来配置bean. 在第一种利用bean config file(spring xml)方式中 ...
- 创建服务factory和service方法的区别
factory方法返回的是对象,json或数组,也可以返回字符串类型的数据,但service方法只能返回数据或对象 创建服务有3种方法 $provide.provider('服务名',function ...
- Builder Design模式和Factory Design模式之间有什么区别?
Builder设计模式和Factory设计模式有什么区别? 哪一个更有利,为什么? 如果我想测试和比较/对比这些模式,如何将我的发现表示为图形? #1楼 建筑商和抽象工厂 在某种程度上,Builder ...
- c#设计模式-工厂方法
一. 工厂方法(Factory Method)模式 工厂方法(FactoryMethod)模式是类的创建模式,其用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中. 工厂方法模式是简单工 ...
- Javascript Patterns--读书笔记8 (Factory)
factory模式的目的是用来创建objects.它经常以类或者是一个类的静态方法的形式出现,但是不论以何种形式的出现, 最终都得实现下面的目标: 当我们在设置一组对象的时候,它们需要执行一组相同的代 ...
- 设计模式-Factory Method Pattern
为什么80%的码农都做不了架构师?>>> 一. 工厂方法(Factory Method)模式 工厂方法(FactoryMethod)模式是类的创建模式,其用意是定义一个创建产品 ...
最新文章
- 2022-2028年中国康养地产行业市场需求前景及投资战略分析报告
- java书籍_Java程序员必看的 13 本 Java 书籍!
- 根据前序、中序序列重建一棵二叉树的代码实现
- python工具是什么-使用Python编写命令行工具有什么好的库?
- 插件编写傻瓜教程VC6.0
- ILMerge合并多个DLL
- Asp.net Core全局异常监控和记录日志
- ajax 传递arraybuffer,jQuery $ .ajax或$ .load是否允许responseType arrayBuffer?
- [Python]网络爬虫(六):一个简单的百度贴吧的小爬虫
- linux常见问题解决方法,Ubuntu 下2个常见问题解决方法
- Vue Element校验validate
- android 打开微信代码,微信跳转浏览器或提示手机端打开HTML代码
- MySQL中的 last_day() 函数
- 恶意程序分析之数字签名验证系统的探究
- vulnhub刷题记录(Pwn The Tron:1)
- oracle去空格去不掉,oracle去掉空格
- huge形式_huge什么意思怎么读
- sql2008数据导入与导出
- HeadFirstC笔记_6 数据结构与动态存储:牵线搭桥
- java实现区块链中的区块hash难度系数的设计
热门文章
- 卫星还在“织网” 北斗时代尚需时日
- 微软为什么要公开AI系统测试数据集和度量指标?
- 苹果又魔改安卓? iOS 15 正式发布、可跨设备移动文件,这届 WWDC21 带来了什么?...
- 人生第一次:领年终,拿股票!
- spring官方文档阅读笔记
- 如何在数据库中高效实现订座功能?
- CSS 相对|绝对(relative/absolute)定位系列(一)
- Linux海量数据高并发实时同步架构方案杂谈
- IDEA 创建Web项目并在Tomcat中部署运行
- pom配置之:distributionManagementsnapshot快照库和release发布库