Javaのコンストラクタの使い方を初心者にも分かりやすく解説
Javaのコンストラクタは重要なメソッドの一つです。コンストラクタの意味や使い方を正しく理解し、Javaに対する理解を深めましょう。サンプルコードを用いながら、初心者にも分かりやすくコンストラクタについて解説します。
問題解決力を身に付ける若手、新人SE・PG向けの通年Java研修(1~3ヶ月コース)はこちら
目次[非表示]
- 1.Javaのコンストラクタとは?
- 1.1.コンストラクタとは何か?
- 1.2.コンストラクタの役割
- 2.コンストラクタの使い方
- 2.1.コンストラクタの書き方
- 2.2.コンストラクタの呼び出し方
- 2.3.コンストラクタはnew演算子で呼び出す
- 2.4.引数の指定方法
- 3.thisの使い方も覚えよう
- 3.1.thisはどこで使う?
- 4.コンストラクタでインスタンスの初期値を設定
Javaのコンストラクタとは?
Javaを扱う上では「コンストラクタ」については必ず理解しておく必要があります。コンストラクタの持つ役割や意味について、まずは定義から学んでいきましょう。
若手、新人エンジニアの成長を阻む 人材育成5つの失敗と解決策はこちら
コンストラクタとは何か?
コンストラクタとは、「クラス」(設計図)の処理を実行する「インスタンス」(実際に作ったモノ)が生成される際に実行されるメソッドで、主にクラスのメンバ変数を初期化する際に使われます。
コンストラクタは「new」の演算子を使って生成した場合に自動で呼び出されます。
コンストラクタの役割
コンストラクタは、そのオブジェクトが新しいオブジェクトを生成する際や、初期値の代入が必要なときに呼び出されるものです。
コンストラクタによってメンバ変数が初期化されることで、新しく生成したインスタンスのメンバ変数が必ず指定した値になっています。
コンストラクタの使い方
コンストラクタを具体的にどのように使えば良いのでしょうか。サンプルコードと共に、使い方について学んでいきましょう。
全国の若手~ベテランエンジニアが受講している個別指導のオンライン・リモート講座(入門5日・基礎10日)はこちら
コンストラクタの書き方
コンストラクタの書き方には、以下のルールを適用しなければなりません。
- コンストラクタはメソッドの名前とクラス名を同一にする
- 戻り値を記述しない
このルールを守った上で、Javaでは次のようにコンストラクタを記述します。
コンストラクタの呼び出し方
コンストラクタを呼び出す方法をコードと共に見ていきましょう。
実行結果は以下のように表示されます。
class Constructortestのインスタンスを生成する際に、コンストラクタが呼び出されるという形です。
コンストラクタはnew演算子で呼び出す
コンストラクタはnew演算子で呼び出す必要があります。
new演算子の後に、クラスのコンストラクタを実行するコードを書くと、クラスのインスタンスが生成されます。これを「インスタンス化」と呼びます。
また、new演算子の構文は以下のようになります。
この2つの記述は別の言い方をしていますが、同じことを表しています。コンストラクタでは、引数は必要によってその都度使い分けましょう。
引数の指定方法
引数を持つコンストラクタを指定する場合、new演算子でコンストラクタを生成する際にクラスに引数を指定します。
thisの使い方も覚えよう
thisは、そのクラスフィールドの変数を呼び出す際に用いられます。
学歴、学部による「IT知識」「基礎知識」の格差を無くす個別指導の新人研修プロエンジニア育成コース(Java2・3ヶ月コース)はこちら
thisはどこで使う?
以下について見ていきましょう。
「this」はメソッドが呼ばれた際に、呼び出しているインスタンスに置き換えて用いられます。この場合「this」は「Animal」に置き換えられています。
「this」を使うことで、複数のインスタンスを生成したとしても、記述を簡単に済ませることが可能です。
例えばmainclassをこのように記述して複数のインスタンスを作成した場合、「this」はanimal1とanimal2の両方を置き換えることができます。
コンストラクタでインスタンスの初期値を設定
コンストラクタはJavaを使ってコードを書く際によく使います。インスタンスの初期値を設定する重要なメソッドです。Javaを学習する上では重要なメソッドなので、記述する際のルールや使う場面を覚えておきましょう。
全国の若手~ベテランエンジニアが受講している個別指導のオンライン・リモート講座(入門5日・基礎10日)資料ダウンロードはこちら
new演算子で呼び出す場合の構文や、thisの使い方とも組み合わせると、使い道が広がっていきますので、併せて学習を進めていきましょう。