コンストラクタは常にそのクラス自体の新しいインスタンスを返し、名前はクラス名に固定されます。ファクトリメソッドは通常(しばしば static の)通常のメソッドでオブジェクトを生成します。これにより、命名、どのサブタイプを返すか、実際にオブジェクトを生成するかどうかに対する自由度が得られます。
ファクトリがコンストラクタでできないこと
java
{
r, g, b;
{ .r=r; .g=g; .b=b; }
Color { (r,g,b); }
Color { (,,); }
(,,);
Color { BLACK; }
}
