Today’s Effective Java 2003/08/26

– オブジェクトの生成と消滅 –
コンストラクタの代わりにstaticファクトリーメソッドの提供を検討する

例)
Booleanクラスのメソッド
 public static Boolean valueOf(boolean b) {
  return (b ? Boolean.TRUE : Boolean.FALSE;
 }

長所)
1.コンストラクタと異なり、名前を持つ … コンストラクタでは作成するインスタンスをうまく表すことができない。素数のインスタンスを作成したい場合に、new Integer( … ) とするよりは、 Integer.getPrime( … ) とした方がわかりやすい。
2.コンストラクタと異なり、メソッドが呼び出されるたびに新しいインスタンスを生成しなくてもすむ
3.コンストラクタと異なり、メソッドの返却型のサブクラスのインスタンスを返すことができる

同じカテゴリの記事: Java