1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

スタティック変数とは

Posted at

スタティック変数

クラスに関連付けられた変数
そのクラスのすべてのインスタンスによって共有される特殊な変数

インスタンス変数とは異なり、スタティック変数は、クラスレベルでのデータを表現するために使用する

スタティック変数は、クラス内に定義され、staticキーワードで修飾される
それにより、スタティック変数はクラス自体に関連付けられ、各インスタンスではなくクラス自体に属す
→クラスのすべてのインスタンスで同じ値を共有し、変更が反映される

スタティック変数の特徴

クラスレベルの変数
各インスタンスではなくクラス自体に属す
クラスのすべてのインスタンスで同じ値を共有

インスタンスが生成される前に初期化される
→プログラムが実行される間ずっと存在する

インスタンスメソッド内から参照できる
直接インスタンス変数にアクセスはできない

スタティック変数
クラス内の共有データやカウンター、定数、設定値など、インスタンス間で共通の情報を保持するために使用される

他のメンバ変数やメソッドからも参照できる
→共有のデータを追跡するために便利

Javaでのスタティック変数の宣言と使用例


public class Counter {
    static int count; // スタティック変数 count

    public Counter() {
        count++;
    }

    public static void main(String[] args) {
        Counter c1 = new Counter();
        Counter c2 = new Counter();
        Counter c3 = new Counter();

        System.out.println("Count: " + Counter.count); // クラス名を使ってスタティック変数にアクセス
    }
}

Counterクラス内にcountというスタティック変数を宣言
各インスタンスが生成されるたびに、コンストラクタ内でcountが増加
main()メソッド内では、Counter.countを使ってスタティック変数にアクセスし、最終的なカウントの値を表示

スタティック変数はクラス全体で共有される
→1つのインスタンスの変更が他のインスタンスにも反映される

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?