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


Javaについて、復習しながら更新していきます。
今回のテーマはクラスとコンストラクタ!!

コンストラクタとは

クラスには前回書いた変数とメソッド以外にコンストラクタを定義することができる。
クラスをインスタンス化した時に、そのオブジェクトに対しての初期化処理を記述することができる。つまりクラスをインスタンス化すると必ず動作するものである。


[構文]

[修飾子] コンストラクタ名(引数リスト)
{
//処理内容
}



[決まり]
・コンストラクタ名はクラス名と同一であること。
・戻り値は持たない。
・引数を持たせることができる。


[例]
class Sample
{
	//メンバ変数
	int i;
	
	//引数なしコンストラクタ
	Sample()
	{	
	}
	
	//引数ありコンストラクタ
	Sample(int i)
	{
		this.i = i;
	}
}



コンストラクタの呼び出し

前述で記載したが、インスタンス化することでコンストラクタが呼び出される。



[構文]

クラス名 変数名 = new コンストラクタ名();

または
クラス名 変数名 = new コンストラクタ名(引数リスト);



[例]
class Sample_Exe
{
	public static void main(String args[])
	{
		//引数なしコンストラクタ呼び出し
		Sample sample1 = new Sample();

		//引数ありコンストラクタ呼び出し
		Sample sample2 = new Sample(1);
	}
}



デフォルトコンストラクタ

コンストラクタを何も記述しなかった場合、引数なしで中身のないコンストラクタが自動的に作成されます。コンストラクタを記述した場合は、自動作成されないため、注意が必要です。



[例]
class Sample
{
	//メンバ変数
	int i;
	
	//引数ありコンストラクタ
	Sample(int i)
	{
		this.i = i;
	}
}
class Sample_Exe
{
	public static void main(String args[])
	{
		//デフォルトコンストラクタが作成されないため引数なし呼び出しはできない
		//Sample sample1 = new Sample();

		//引数ありコンストラクタ呼び出し
		Sample sample2 = new Sample(1);
	}
}


以上。



【ブログを始めるなら】

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA