JAVA プログラミング 入門

JAVAのプログラミングについて初歩から解説します。まずは、mainメソッド、変数、演算、if文、for文、while文、メソッド、配列など。続いて、メソッドを複数構成して、プログラムを作成(非オブジェクト指向プログラミング)、しばらく後になると思いますが、オブジェクト指向プログラミングを解説します。 クラスの構成、コンストラクター、継承、・・・、など、本格的OOP(Object Oriented Programming)を解説します。

Java: コンストラクタ--引数の扱い方

図Proo2_1_㏛cは「コンストラクタ--引数の扱い方」を説明するためのプログラム例である。このプログラムの最後にコメントで実行結果が示されている。

f:id:Kurokawa_Tomio:20190626174328p:plain
図Proo2_1_src
このプログラムにはBookとProo2_1のクラスがある。Bookクラスにはdisplay()以外に二つのメソッドがある。どちらもBookという名前であるが、一方は引数がなくもう片方は二つの引数がある。これらは特殊なメソッドでコンストラクタと呼ばれる。コンストラクタの名前はクラス名と同じである。コンストラクタには戻り値がない。従って、Bookの前にはintなどの修飾子が付いていない。17,19,21行ではコンストラクタが呼ばれている。コンストラクタを呼ぶ場合、引数の数、型、その順番が一致しているコンストラクタが呼ばれる。引数が一致している場合(17,19行)、9から13行で定義されているコンストラクタが呼ばれる。引数がない場合(21行)、8行で定義されているコンストラクタが呼ばれる。
コンストラクタの働きはオブジェクトを作ることである。引数があってもなくて、オブジェクトのフィールドは何らかの形で初期化される。多くの場合引数で初期化される。

コンストラクタの引数は一般にオブジェクトのフィールドを初期化するためのデータであることが多い。例の場合、本のタイトルとページ数が引数として与えられている。19行のようにフィールドデータとして適切でない値(-300)が与えられた場合など、警告のメッセージを出すことができる。以下にソースを張り付けます。

/*コンストラクタ1*/
class Book {
	String title;
	int page_suu;
	void display(){
		System.out.println("title="+title+", page_suu="+page_suu);
	}
	Book(){title="Java 入門"; page_suu=200;}
	Book(String a, int b){
		title=a; 
		if(b<0) System.out.println("ページ数がマイナスです");
		page_suu=b;
	}
}
class Proo2_1{
	public static void main(String[] args){
		Book a=new Book("Introduction to Java",500);
		a.display();
		Book b=new Book("Introduction to C",-300);
		b.display();
		Book c=new Book();
		c.display();
	}
}
/*
title=Introduction to Java, page_suu=500
ページ数がマイナスです
title=Introduction to C, page_suu=-300
title=Java 入門, page_suu=200
*/

JAVA PROGRAMMING 入門 TOP へ