Javaの勉強〜クラスやらメソッドやらフィールド・・・

これから延々とクラス、メソッド、フィールド、メンバ、引数、コンストラクタ、クラスライブラリ、などなどを勉強していきます。はあ・・・、for文やif,if else文が懐かしいなあ・・・。プログラムを書くだけで楽しかったのに・・・ (´・ω・`)


まあクラスを理解できなくて何がプログラミング勉強だとはいえます。こつこついきましょー。
以下は大雑把な定義


例文1

//クラス
class Gundam {
	
    //フィールド
	int num;
	double speed;
	
    //メソッド
	void shaa(){		
		System.out.println("機体ナンバーは"+num+"です。");
		System.out.println("期待のスピードは通常の"+speed+"倍です。");
	}
}	


クラス:性質や機能を記述するときに使う。Javaを書くなら必ずでてくる


フィールド:上の例の中のintやdoubleにより表されたクラスの性質のこと。フィールドに値を代入する時はドット"."を付ける。たとえば

sample.num = 1;


メソッド:フィールドがどういうものかという性質を現すのに対して、メソッドはどうするかを記述したもの。ちなみにフィールドとメソッドはメンバと呼ばれる。


オブジェクト(またはインスタンス):作成したクラス(下の例ではGundamクラス)を実際に「もの(オブジェクト)」のように扱うようにすること?これは正確にはよくわかんないけど、使い方はそう難しくない。


引数:引数によってメソッドに値を渡すことができる。引数はメソッド内だけで使用可能。
仮引数:メソッドの定義内で値を受け取る変数のこと。
実引数:メソッドを呼び出す時に渡す値のこと。


例文2

//Gundam2クラス
class Gundam2 {
	
	int num;
	double speed;
	
	void shaa(){
		//メソッドを定義する
		System.out.println("機体ナンバーは"+num+"です。");
		System.out.println("期待のスピードは通常の"+speed+"倍です。");
	}
}	

	class May13n2{	
		
	public static void main(String[] args){
		//オブジェクトgundam21の作成
		Gundam2 gundam21;
		gundam21 = new Gundam2();
		//値を代入( フィールドにアクセス)
		gundam21.num = 1234;
		gundam21.speed = 3.0;
		//メソッドの呼び出し
		gundam21.shaa();
	}
	
}


実行結果は

機体ナンバーは1234です。
機体のスピードは通常の3.0倍です。


例文2の最後の

gundam21.shaa();

によって、メソッドが呼び出されて処理されている。


例文3

//Gundam3クラス
class Gundam3 {
	
	int num;
	double speed;
	
	//メソッド
	void setNum(int n){      //引数(仮引数)を用意して・・・
		num = n;           //メソッド内で引数を使用する
		System.out.println("機体ナンバーを"+ num +"にしました。");
	}
	void setSpeed(double s){
		speed = s;
		System.out.println("期待のスピードを"+ speed +"倍にしました。");
	}
	
}	
	class May13n3{		
	public static void main(String[] args){
		//オブジェクトの作成
		Gundam3 gundam31 = new Gundam3();
				
		gundam31.setNum(9999);   //引数(実引数)として9999を渡して呼び出す
		gundam31.setSpeed(6);    
	}
	
}

出力結果は

機体ナンバーを9999にしました。
期待のスピードを6.0倍にしました。


今日はここまでにしよう。なんか知らない言葉ばかりが出てきていっぺんにやるとすぐに忘れてしまいそうだし。


あ〜頭ががんがんする。賞味期限切れの牛乳飲んだせいかな?それとも夜更かしのせいかな?どちらにせよ健康には気をつけよう。