オブジェクト作成のための「静的ファクトリメソッドとコンストラクター」が議論されている効果的なJava項目1を調べていました。言及されている欠点の1つは次のとおりです。
「静的ファクトリ メソッドのみを提供することの主な欠点は、パブリックまたは保護されたコンストラクターを持たないクラスをサブクラス化できないことです。」
オブジェクト合成を継承に促進するので、これは良いとも言われています。しかし、どうしても継承が必要な場合、それは深刻な制限ではありませんか? クラスが拡張されるかどうか以前からわからないのに、オブジェクトの作成に静的ファクトリ メソッドを使用する必要があるのはなぜですか?