Java メソッドとは


Java-メソッド-

処理の変数みたいなもんっぽいな。

メソッドとは何か

1+1=2 というプログラムがあったら、その数字以外がメソッドみたいなもんらしい。 つまり1なり3なりいれてやれば、計算するぜ!ということだな。

メソッドの定義、読み出し

メソッドは、変数みたくまず定義してやって、しかるべき時に読み出すかんぎらしい。

	public class MethodExample {
		  static void simpleMethod() {
			    System.out.println("simpleMethodが読み出された!");
		  }
		  public static void main(String args[]) {
			    System.out.println("mainのはじまりだぜ");
				    simpleMethod();
			    System.out.println("mainは終わった");
		  }
	}

こんなかんぎで読み出しと定義する。あとstaticは特別なクラスメソッドというのを 読み出すのにつかうそうだ。

引数

正直よくわからん。

public class MethodExample2 {

 static void todayIs( String arg1 ) {
   System.out.println("お前は" + arg1);
 }
 public static void main(String args[]) {
   todayIs("有罪だ!");
   todayIs("無罪だべ");
 }

}

つまり、最初にStringのarg1、つまりtodayIsをつくっておいて、 Stringのarg+printlnお前はを付けるぞみたいなかんぎか。

つまりtodayIs読み出すたびになんか付けれるってかんぎなんかね。

戻り値

いいたいことは分かるがさっぱりわからん。 public class MethodExample3 {

 static int pow( int arg1) {
   int result = arg1 * arg1;
   return result;
 }
 public static void main(String args[]) {
   int answer;
   answer = pow(5);
     System.out.println( answer );
     System.out.println( pow(6) );
     System.out.println( pow( pow(2) ) );

} } だと、ようはpowが5だ!といったら、 二乗されてもどってくるってことだな。 mainなりで数値だす→呼び出されたメソッドの命令を行う というかんぎか。 ちなみに、return result;というのが戻り値の命令だそうです。そこでメソッド強制的に抜けて元にもどれるそうだ。


メソッドのオーバーロード

暴走!暴走! 同じクラス内に同じメソッド名の定義を何個ももてるそうだ。 でも同じだと迷うよな。

ということでJavaは、引数の数とデータの形で判断するらしい。

	void method1 (int a){

	void method1 (double a){

の場合、method1(100)だと上で、(5.3)とかだと下が自動的に呼ばれるらしい。便利ぃ!

	void method1 (int a){

	void method1 (int a, int b){

は、int同士だが、上は(111)で下は(111,11)とかなので別ということだ。 複数定義することをメソッドのオーバーロードというそうだ。 ちなみに、メソッド名やら引数やら引数のデータ型などの情報を、シグニチャというらしい。