Java staticメソッド/変数 (newしないで使用できる)

Javaのstaticメソッドとstatic変数のサンプルです。
クラスをインスタンス化せずに使用できます。

目次

サンプル staticメソッドとは(newしないでメソッドを使用)
  static変数とは(newしないで変数を使用)
  staticとfinalを使用して定数にする

staticメソッドとは(newしないでメソッドを使用)

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

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

package test1;

class Color {
	static void print(){
		System.out.println("red");
	}
}

public class Test1 {
	public static void main(String[] args) {		
		Color.print(); // red
 	}
}

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

 

static変数とは(newしないで変数を使用)

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

static変数のサンプルです。

package test1;

class Ball {
	static String color = "red";
}

public class Test1 {
	public static void main(String[] args) {
		System.out.println(Ball.color); // red
	}
}

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

 

staticとfinalを使用して定数にする

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

定数のサンプルです。

package com.example.demo;

public class ResponseCode {
	// インスタンスの生成を禁止する
	private ResponseCode() {
	}

	public static final int RESPONSE_OK = 100;
	public static final int RESPONSE_NG = 999;
}

5行目は、コンストラクタをprivateにしてインスタンスの生成ができないようにしています。

上記の定数を利用するファイル

package com.example.demo;

import static com.example.demo.ResponseCode.*;

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

3行目は、staticのimportを行っています。
定数を使用すると数値が文字列になるので可読性が上がります。

関連の記事

Java static初期化ブロックと初期化ブロック
Java インポートとstaticインポートのサンプル(import)
Java finalのサンプル(定数として使用/継承不可)

△上に戻る