Java staticメソッドとstatic変数のサンプル

Javaのstaticメソッドとstatic変数のサンプルです。

目次

staticメソッド

class  クラス名{
  static  戻り値の型  メソッド名() {
  }
}
  • メソッドの前にstatic修飾子をつけます。
  • クラスをインスタンス化せずにメソッドを使用できます。
  • クラスメソッドや静的メソッドとも呼ばれます。
  • staticは、「静的」という意味です。

コード

staticメソッドのサンプルです。

package test1;

class Sample {
	static void runSample(){
		System.out.println("テスト1");
	}
}

public class Test1 {
	public static void main(String[] args) {		
		Sample.runSample(); // テスト1
 	}
}

4行目は、staticメソッドです。
11行目は、クラスをインスタンス化していませんが値が表示されます(newしていない)。クラス名.メソッドで実行します。
4行目のstaticを削除すると11行目でコンパイルエラーになります。(非staticメソッドを参照できません)

 

static変数

class  クラス名 {
  static  変数の型  変数名;
}
  • 変数の前にstatic修飾子をつけます。
  • クラスをインスタンス化せずに変数を使用できます。
  • クラスフィールドや静的フィールドとも呼ばれます。

コード

static変数のサンプルです。

package test1;

class Sample {
	static int cnt1 = 100;
}

public class Test1 {
	public static void main(String[] args) {
		System.out.println(Sample.cnt1); //100
 	}
}

4行目は、static変数です。
9行目は、クラスをインスタンス化していませんが値が表示されます(newしていない)。クラス名.変数名で表示します。
4行目のstaticを削除すると9行目でコンパイルエラーになります。(非staticのフィールドを参照できません)

 

定数 (static final)

class  クラス名 {
  static  final  変数の型  変数名  =  値;
}
  • 定数は、値を変更することができません。再代入不可です。
  • 変数の前にstatic修飾子とfinal修飾子をつけます。
  • 定数名は、変数と区別が付くようにするため、大文字にします。
  • 単語で区切りがある場合はアンダスコア(_)をつけます。

コード

定数のサンプルです。

package test1;

class Sample {
	static final int CNT = 100;
}
public class Test1 {
	public static void main(String[] args) {
		
//		Sample.CNT = 200;
		System.out.println(Sample.CNT); //100
 	}
}

4行目は、定数です。
9行目は、定数に対して値を代入しようとしていますができません。コンパイルエラーになります。

関連の記事

Java static初期化ブロックと初期化ブロックのサンプル
Java staticインポートのサンプル
Java final修飾子のサンプル

△上に戻る