A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 成都吴彦祖 初级黑马   /  2019-6-5 15:18  /  771 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

静态方法还有另外一种常见的用途。类似 LocalDate 和 NumberFormat 的类使用静态工
厂方法 (factory methocO 来构造对象。 你已经见过工厂方法 LocalDate.now 和 LocalDate.of。
NumberFormat 类如下使用工厂方法生成不同风格的格式化对象:
NumberFormat currencyFormatter = NumberFormat.getCurrencylnstanceO;
NumberFormat percentFormatter = NumberFormat.getPercentlnstance();
double x = 0.1;
System.out.println(currencyFormatter.format(x)); // prints SO.10
System.out.println(percentFomatter.format(x)); // prints 10%
为什么 NumberFormat 类不利用构造器完成这些操作呢? 这主要有两个原因:
•无法命名构造器。构造器的名字必须与类名相同。但是, 这里希望将得到的货币实例
和百分比实例采用不用的名字。
•当使用构造器时,无法改变所构造的对象类型。而 Factory方法将返回一个 DecimalFormat
类对象, 这是 NumberFormat 的子类

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马