コンストラクターの代わりに「静的ファクトリーメソッド」を使用するにはどうすればいいですか? 質問する

コンストラクターの代わりに「静的ファクトリーメソッド」を使用するにはどうすればいいですか? 質問する

効果的な Java では、「コンストラクタの代わりに静的ファクトリ メソッドを提供することを検討してください」と書かれています。

もしあなたが

 class A {

     public static A getInstance() {
        return new A();
     }
 }

コード内で new A() を呼び出すのではなく、クラス A にこのメソッドを提供する方が意味があるでしょうか。

ベストアンサー1

見るこここれを実行する主な理由をわかりやすく説明しています。要約すると、次のようになります。

  1. 名前は「コンストラクター」です。
  2. 適切な場合は null を返すことができます。
  3. 適切な場合は派生クラスのインスタンスを返すことができます。
  4. ジェネリック型の変数をインスタンス化する際の詳細度を削減します。

記事には記載されていない別の理由が思い浮かびます。常に新しいオブジェクトを作成しないようにするための興味深いロジックを実装できます (パラメーターに基づくキャッシュ、リサイクルなど)。

おすすめ記事