黑马程序员技术交流社区

标题: [java]学习心得 [打印本页]

作者: 成都吴彦祖    时间: 2019-6-5 15:18
标题: [java]学习心得
静态方法还有另外一种常见的用途。类似 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 的子类




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2