archive

[Java] static変数 (クラス変数)とは


static変数について整理する。

static変数の特徴

staticに関しては、インスタンスと対比して考えることができる。

staticを使う時

staticを使って作られた変数を呼び出す時、クラスからインスタンスを作らなくても呼び出すことができる。

また、クラスAでインスタンスaとインスタンスbが2つ作られた時、クラスAのクラス変数はインスタンスaとインスタンスbにも共有される。

staticを使わない時

staticを使わず作られた変数を呼び出す時、クラスからインスタンスを作って呼び出さなくてはいけない。

staticを使わず作られた変数はインスタンス変数と呼ばれる。

Static変数の使い方

Static変数の使い方についてまとめる。

static変数の宣言

`アクセス修飾子 static 型名 変数名

//Example public static void main(String[] args)`

static変数の呼び出し方

`クラス名.変数名`

static変数の呼び出し方の例をあげる。

staticをつけて変数を宣言して、Mountain.nameで呼び出す。

`public class Main{
    public static void main(String[] args){
      System.out.println(Mountain.name);
    }
}

class Mountain{ public static String name = “鳳凰山”; }

//出力結果 鳳凰山`

また、クラス変数は、同じクラスで作ったインスタンスでも呼び出せる。

`public class Main{
    public static void main(String[] args){
    Mountain mountain1 = new Mountain();
    System.out.println(mountain1.name);
    }
}

class Mountain{ public static String name = “鳳凰山”; }

//出力結果 鳳凰山`

呼び出せない例

もし変数を宣言する時にstaticをつけないで、クラスから呼び出そうとするとエラーが出る。

`public class Main{
    public static void main(String[] args){
      System.out.println(Mountain.name);
    }
}

class Mountain{ public String name = “鳳凰山”; }

//実行結果 Main.java:3: error: non-static variable name cannot be referenced from a static context System.out.println(Mountain.name);`

全体像を把握する

下記にJavaやwebアプリケーションについての記事をまとめた。

[st-card myclass="" id=3431 label="" pc_height="" name="" bgcolor="" color="" fontawesome="" readmore=“on”]

コンピューターについての全体像も把握しておくと、プログラミングのさらなる理解に役立つ。

[st-card myclass="" id=4587 label="" pc_height="" name="" bgcolor="" color="" fontawesome="" readmore=“on”]