staticメソッド

static method
インスタンスを作らずに呼び出すことが出来る。

public class Dr11 {
	//オブジェクト化して使わないのでstaticの必要がある
	public static String sgn(int a){
		if(a>0){
			return "正";
		}else if(a<0){
			return "負";
		}else{
			return "ゼロ";
		}
	}
	public static void main(String[] args) {
		int[] a = {-10,0,20,-1,5};
		for(int i=0;i<5;i++) {
			System.out.println(a[i] + ":" + sgn(a[i]));
		}
	}
}

上記はmainメソッドでオブジェクト化していない。なので直接メソッドを呼び出すにはstaticメソッドである必要がある。

class Max1 {
	//staticである必要はない
	public int max(int a, int b) {
		if(a > b){
			return a;
		}else{
			return b;
		}
	}
}

public class MethodTest1 {

	//main_class
	public static void main(String[] args) {
		int a=20,b=50;

		Max1 max_obj = new Max1();
		System.out.println("最大 = " + max_obj.max(a,b));
	}
}

オブジェクト化して使う場合はstaticメソッドである必要はない。

コメントを残す