java – 番石榴:为什么方法create()而不是构造函数?

请问,你能解释为什么番石榴的创作者喜欢将构造函数定义为私有的,并且定义静态方法create()来创建对象?
最佳答案
有效的Java项目1:考虑静态工厂方法而不是构造函数.

静态工厂方法的一些优点包括:

>他们自动推断Java 7之前的类型参数.
>它们允许我们控制继承模式:我们可以在Guava中子类化集合类型,而不会让外部代码将它们分类.
>他们让我们返回所需类型的任意子类,让我们更好地隐藏实现细节.

转载注明原文:java – 番石榴:为什么方法create()而不是构造函数? - 代码日志