对于类而言,为了让客户端获取它自身的一个实例,最常用的方法是提供一个公有的构造器,还有一个方法就是静态工厂方法。
静态工厂方法的优势
有名称
一个类智能有一个带有指定签名的构造器,我们可以通过改变参数列表的顺序来提供两个构造器。实际上,这样会给开发人员造成困惑,永远记不住该用哪个构造器。
不必每次调用它们的时候都创建一个新对象
可以返回原返回类型的任何子类型的对象
使代码变得更简洁
//构造方法
Map<String,Object> m = new HashMap<String,Object>()
//静态方法
Map<String,Object> m = HashMap.newInstance()