【Java】コンストラクタとは?

Java

Javaを勉強し始めた方ですと、コンストラクタという言葉を聞いてもよくわからないと思います。

コンストラクタはJavaのインスタンスを使用する際にはほぼ必須と言ってもいいほど大切なものです。

今回はコンストラクタについて初心者の方でもわかるように解説していきます。

コンストラクタとは?

まずコンストラクタとは何なのか?について解説していきます。

コンストラクタとはインスタンス化するときに実行される初期化用のメソッドです。

変数でもはじめ宣言したら初期化すると思いますが、それと同様の処理をインスタンス化実施時にも行えるようにしたものがコンストラクタとなっています。

ではそんなコンストラクタですが、必ず記載しなければならないかと言われますと、絶対に必要ではありますが、必ず記載しなければならないというわけではありません。

どういうことかというと人間が記載しなくてもデフォルトのコンストラクタがすでに用意されています。

コンストラクタを記載しない場合はそのデフォルトのコンストラクタが自動で実行されることになっていますので安心です。

コンストラクタの特徴

では次にコンストラクタの特徴について記載していきます。

特徴としては下記のような点があります。

  • 戻り値を記述することはできない
  • クラス名と同様の名前を使用する必要がある
  • newでインスタンス化した際に同時に実行される
  • インスタンス化実施時に必ず実行される(記載しない場合はデフォルトコンストラクタが実行される)

戻り値を記述することができないのは、コンストラクタは初期化を実施するためだけに実行されるものですので、一方通行となっています。

また戻り値を記述するとコンストラクタでなくメソッドとなりますので、戻り値は記載しないようにしましょう。

そして先ほども解説しましたが、コンストラクタの記述は任意で記述しない場合はデフォルトコンストラクタが自動で記述されるようになっています。

コンストラクタの使用方法

では最後にコンストラクタの記載方法について紹介いたします。

【使用方法】
public class constructor1 {
	public static void main(String[] args) {
		constructor2 i=new constructor2();
		System.out.println(i.a);
	}
}

public class constructors2 {
	int a;
	public constructor2(){
		this.a=5;
	}
}
【実行結果】
5

上記がコンストラクタを使用したコードと実行結果です。

「constructor2 i=new constructor2();」でインスタンス化を実施したと同時に「public constructor2(){}」というコンストラクタが呼び出されます。

そしてコンストラクタには引数を入れることも可能です。

下記がその使用方法と実行結果です。

【使用方法】
public class constructor3 {
	public static void main(String[] args) {
		constructor4 i=new constructor4(7);
		System.out.println(i.a);
	}
}

public class constructor4 {
	int a;
	public constructor4(int b){
		this.a=b;
	}
}
【実行結果】
7

constructor4クラス内のconstructor4コンストラクタに引数bを指定しています。

そしてmainメソッドでインスタンス化の際に「constructor4(7)」と記述することでコンストラクタの引数に値を入れることができるようになります。

これによりmainメソッドから投げられた7という値でconstructor4のa変数が初期化されています。

まとめ

この記事ではコンストラクタについて下記の順で解説してきました。

  • コンストラクタとは?
  • コンストラクタの特徴
  • コンストラクタの使用方法

コンストラクタはインスタンス化をする際にインスタンス変数を初期化するのに使用します。

インスタンス化を実施する際にはほぼ必須と言ってもいいほど重要な知識となっていますので、ぜひ今回の記事を読んで理解を深めてください。

今回の解説は以上となります。

コメント

タイトルとURLをコピーしました