14‐1
次のクラスを実行するとどのように出力されますか?
------------------------------------------------------------------------
class Exer14_01 {
	int num = 10;

	void print(){
		int num = 20;
		System.out.println(num);
		System.out.println(this.num);
	}

	void print(int num){
		System.out.println(num);
		System.out.println(this.num);
	}

	public static void main(String[] args){
		Exer14_01 e = new Exer14_01();
		e.print();
		e.print(30);
	}
}
------------------------------------------------------------------------
14‐2
本をモデルとする、次のようなBook02というクラスを作成・コンパイルしなさい。
・題名を表すString型のtitleというフィールドをもつ。
・コンストラクタの引数で題名を指定させる。ただし、コンストラクタの引数の名前はフィールド名と同じにする。
・題名を出力するvoid型のprintTitle()というメソッドをもつ。

14‐3
次のような処理を行うExer14_03というクラスを作成・コンパイル・実行しなさい。
・題名に"Java","Linux","Tomcat"を指定してBook02のインスタンスを3個生成し、Book02型の3個の変数にそれぞれを代入する。
・各変数を使用して、各インスタンスのprintTitle()メソッドを呼び出す。

14‐4
次のようなクラスExer14_04を作成・コンパイルしなさい。
・int型のフィールドを2個もつ。
・引数無し、int型の引数1個、int型の引数2個、の3個のコンストラクタをもつ。
・引数無しのコンストラクタは、適当な値を指定して自クラスの引数1個のコンストラクタを呼び出す。
・引数1個のコンストラクタは、引数として受け取った値と適当な値を指定して、自クラスの引数2個のコンストラクタを呼び出す。
・引数2個のコンストラクタは、2個の引数を2個のフィールドにそれぞれ代入する。
・2個のフィールドを出力するメソッドをもつ。

14‐5
次のような処理を行うクラスExer14_05を作成・コンパイル・実行して結果を確認しなさい。
・上記Exer14_04の引数無し、引数1個、引数2個のコンストラクタを呼び出して、インスタンスを3個生成する。
・それぞれのインスタンスに対し、フィールドを出力するメソッドを呼び出す。
14‐6
次のクラスを実行するとどのように出力されますか?
------------------------------------------------------------------------
class Exer14_06 {
	int i1;
	int i2;

	Exer14_06(){
		this(10);
	}

	Exer14_06(int i1){
		this(i1, 20);
	}

	Exer14_06(int i1, int i2){
		this.i1 = i1;
		this.i2 = i2;
	}

	void print(){
		System.out.println("i1 = " + i1 + ", i2 = " + i2);
	}

	public static void main(String[] args){
		Exer14_06 e;
		e = new Exer14_06();
		e.print();
		e = new Exer14_06(100);
		e.print();
		e = new Exer14_06(100, 200);
		e.print();
	}
}
------------------------------------------------------------------------