🎯
【Java】クラス解説7・staticについて
staticについて
クラスに関連付けられ、そのクラス自体に属します。インスタンスの作成なしに、クラス名を使って直接アクセスできます。
staticについてのコード例
public class Main {
public static void main(String[] args) {
// インスタンス化しないので下記をコメントアウトする。
// MyClass obj = new MyClass();
// クラス名を使ってstatic変数にアクセス
int value = MyClass.staticVariable;
System.out.println(value); // 出力結果 -> 10
// クラス名を使ってstaticメソッドを呼び出し
MyClass.staticMethod(); // 出力結果 -> This is a static method.
}
}
class MyClass {
// static変数
public static int staticVariable = 10;
// staticメソッド
public static void staticMethod() {
System.out.println("This is a static method.");
}
}
static変数についての解説
public static int staticVariable = 10;
MyClassクラスにおいて、int型のstaticな変数staticVariableに10を代入します。
int value = MyClass.staticVariable;
System.out.println(value);
Mainクラスにおいて、int型の変数valueに、クラス名MyClassを使ってstatic変数staticVariableにアクセスし、10を代入します。
標準出力に変数value(=10
)を出力します。
staticメソッドについての解説
public static void staticMethod() {
System.out.println("This is a static method.");
}
MyClassクラスにおいて、戻り値なし(void)のstaticなメソッドstaticMethodを定義し、
処理内容は、標準出力に"This is a static method."
を出力するというものになります。
MyClass.staticMethod();
Mainクラスにおいて、クラス名MyClassを使ってstaticメソッドstaticMethodを呼び出します。
public class Main {
public static void main(String[] args) {
// インスタンスを生成
MyClass obj = new MyClass();
// インスタンスを使ってインスタンス変数にアクセス
int value = obj.staticVariable;
System.out.println(value); // 出力結果 -> 10
// インスタンスを使ってインスタンスメソッドを呼び出し
obj.staticMethod(); // 出力結果 -> This is a static method.
}
}
class MyClass {
// インスタンス変数
public int staticVariable = 10;
// インスタンスメソッド
public void staticMethod() {
System.out.println("This is a static method.");
}
}
Discussion