【Java】 コンストラクタのprivate宣言

クラス Hogeが次のように定義されている場合

Class Hoge {
  
    String str1;
    String strOption;

    private Hoge(){                        // private宣言★
        // 初期化
        str1 = "初期化します。";
    }

    public Hoge(String str){
       
        this();  

        // オプションの初期化
        strOption = str;
    }

}

コンストラクタHoge(引数なし)がprivate宣言されているため、Hogeクラス外部から
    Hoge hoge1 = new Hoge();
のようにインスタンス作成を行うことができなくなる。
このことを利用して、インスタンス作成時に引数を強制的に渡すようにすることができる。
    Hoge hoge2 = new Hoge("引数");

コメント

人気の投稿