4.4.4 工厂方法

静态方法还有一种常见的用途。NumberFormat类使用工厂方法产生不同风格的格式对象。

为什么NumberFormat类不利用构造器完成这些操作呢?这主要有两个原因:

●无法命名构造器。构造器的名字必须与类名相同。但是,这里希望将得到的货币实例和百分比实例采用不用的名字。

●当使用构造器时,无法改变所构造的对象类型。而Factory方法将返回一个DecimalFormat类对象,这是NumberFormat的子类(有关继承的详细内容请参看第5章)。