Java | 書籍『Effective Java』から Java のプログラミングテクニックを紹介します。クラスのインスタンスを提供するためには、普通は public コンストラクタを用意します。 public class Hoge { public Hoge() { ... } } そして、この public コンストラクタを new で呼び出し、インスタンスを得ます。 public class Main { public static void main(String[] args) { Hoge hoge = new Hoge(); } } しかし、すべてのプログラマが知っておくべき別のやり方があります。それが static ファクトリーメソッド(static factory method)です。 public class Hoge { private Hoge() { ... }