2章 クラスとオブジェクト

複数のクラスを用いて、テストクラスにmain()メソッドをおいて実行することをくりかえします。
アーロンチェアほしいです。

プールパズル

前回のエントリで引用したブログには、「P47には間違いの指摘があるが、正誤表には載ってない」とありました。

f:id:nehalemv:20120323174238p:image

こう実行されてば正解です。
whileとifの条件をどういじれば、e2.countの最終値を10にできるのかで悩みました。
他は凡ミスが一つ。
こういう条件の試行錯誤って、みなさんどうされてるんですかね。

public class EchoTestDrive{
	public static void main(String [] args){
		Echo e1 = new Echo();
		Echo e2 = new Echo();
		int x = 0;
		while(x < 4){
			e1.hello();
			e1.count = e1.count + 1;
			if(x == 3){
				e2.count = e2.count + 1;
			}
			if(x > 0){
				e2.count = e2.count + e1.count;
			}
			x = x + 1;
		}
		System.out.println(e2.count);
	}// while内の繰り返しで、↑で最後に出力される e2.count の値が決まる
}

class Echo{
	int count = 0;
	void hello(){
		System.out.println("helloooo...");
	}
}

私は誰でしょう

  • 「オブジェクトに」似ているが厳密には違う意味を持つ
    • クラス
  • クラスを基に作る
    • オブジェクト
  • 設計図の役割を果たす
    • クラス
  • クラスの持つ機能
    • メソッド
  • プログラムをユーザーに提供する際には、結局これを提供することになる
    • ×クラス
  • クラスの持つ情報
  • 他のオブジェクトから呼び出される
    • ×メソッド
  • クラスは他のクラスからこれを継承できる
  • ヒープに格納される
    • ×オブジェクト
  • インスタンスとも呼ばれる
    • オブジェクト
  • オブジェクトごとに値が異なる
  • レシピに似ている
    • クラス
  • メソッドによって値を変更できる