Google検索エンジン

トップページ » Java複数クラス入門 » コンストラクタについて


コンストラクタについて - コンストラクタとメソッドの違い -

  • コンストラクタとは?

    コンストラクタとは、新たなオブジェクトを生成する際に呼び出して、内容を初期化する関数のことです。 JavaやC++ではコンストラクタを「クラス名と同一の名前を持つ関数」と定義しています。

    コンストラクタは、メソッドと似ていますが、以下の点で大きく異なります。
    ・コンストラクタ名は、クラス名と同じにする必要がある
    ・コンストラクタは戻り値を指定できない
    ・インスタンス化(new)する際に利用できる(必ず呼び出される)


    複数のクラスを作成するまで、コンストラクタについては、あまり意識しないかもしれません。 しかし、コンストラクタは複数のクラスを作成し管理する上で重要な機能を提供します。 同じクラスでもコンストラクタの引数(パラメータ)により初期処理を変えたりできます。 同様の処理をするプログラムを、引数の種類ごとに作成する必要がなくなるので、作業効率があがります。



    コンストラクタを記述する

    では早速、コンストラクタを記述してみましょう。 「sampleBクラス」に、クラス名と同じ名前のコンストラクタを引数なしで記述します。 コンストラクタは戻り値を指定できませんので、戻り値の型宣言(voidやintなど)は不要です。

    サンプルソースコード
    class sampleA {
       public static void main(String args[]) {
          // sampleBクラスをインスタンス化する
          sampleB aaa = new sampleB();
    
          // sampleBクラスのmethodを呼び出す
          aaa.method();
          System.out.println("sampleAです。");
       }
    }
    
    class sampleB {
       sampleB() {
          System.out.println("コンストラクタです。");
       }
       void method(){
          System.out.println("sampleBです。");
       }
    }
    

    プログラム実行結果として、上から順に「コンストラクタです。」、「sampleBです。」、「sampleAです。」が出力されます。 sampleBクラスをインスタンス化した時点で、「sampleB()」が呼び出されていることが確認できます。

    実際は「sampleB()」と明記していなくても、コンストラクタは「new」すると必ず呼び出されています。 コンストラクタを記述していない場合は、デフォルトコンストラクタが呼び出されています。 明記していないと何も処理されない状態ですので、処理結果に違いが出ることはありません。




Java複数クラス入門
おすすめBTOパソコン通販サイト
  • デスクトップPC(ビジネス向け・クリエイター向け・ゲーム向け)、ノートPC、パーツ、周辺機器、ソフト(OS・ゲーム・セキュリティなど)幅広い分野の商品を扱っています。販売価格の幅が広く、品揃えも充実しています。
  • 「FRONTIERダイレクトストア」は、自社工場で製造したFRONTIERブランドのパソコンを日本全国に販売する株式会社KOUZIROのインターネットショッピングサイトです。カスタマイズ可能なBTOゲームパソコンも販売しています。
オンライン書店
  • 注文してから、本が早く届くオンライン書店として定評があります。送料250円で、1500円以上のお買い上げで送料が無料です。
  • eBOOKOFF(イーブックオフ)は、コミック、書籍、CD、ゲーム、DVDなどを販売する日本最大級のオンライン中古書店です。
  • 全巻漫画.comは、日本最大級の古本全巻セット在庫量を誇るオンライン中古書店です。10,000以上の購入で送料が無料になります。