0
0

More than 1 year has passed since last update.

Effective Java 第3版まとめ(項目1)

Posted at

項目1.コンストラクタの代わりにstaticファクトリメソッドを検討する

public class EffectiveJava1 {

    // コンストラクタ
    public EffectiveJava1() {
    }

    // staticファクトリメソッド
    public static EffectiveJava1 newInstance() {
        return new EffectiveJava1();
    }
}

長所

  1. 名前を持つこと
  2. その呼び出しごとに新たなオブジェクトを生成する必要がないこと
  3. メソッドの戻り値型の任意のサブタイプのオブジェクトを返せる
  4. 返されるオブジェクトのクラスは、入力パラメータの値に応じて呼び出しごとに変えられる
  5. 返されるオブジェクトのクラスは、そのstaticファクトリメソッドを含むクラスが書かれた時点で存在する必要さえない

短所

  1. publicあるいはprotectedのコンストラクタを持たないクラスのサブクラスは作れない
  2. staticファクトリメソッドを見つけるのが難しい

staticファクトリメソッドに共通する命名規約

  • from
  • of
  • valueOf
  • instanceあるいはgetInstance
  • createあるいはnewInstance
  • getType
  • newType
  • type
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0