この章では静的変数と静的メソッドについて説明します。
詳しい説明は以下の例の後に行います。 これまでのクラスはオブジェクトを作成してからメンバ変数にデータを入れていましたが、静的変数や静的メソッドはオブジェクトを作成しなくても使用することが出来ます。
つまり、これまでのクラスのメンバ変数やメンバ関数は個々のオブジェクトに属しているものと言えます。
ですので、メンバ変数はオブジェクトを複数作成しても、オブジェクト間でメンバ変数の関係性はありません。
それに対して静的変数や静的関数はクラスに属していると言えます。
後で説明しますが静的変数にはデータの連続性があります。
静的変数は、グローバル変数と同じ性質を持ちます。
クラスの中での静的変数や静的メソッドの作成方法はクラスの中に「static」を付けて作成します。 次に静的変数や静的関数を実行する方法について説明します。 例えばこの例では以下のように静的関数を実行しています。 この例にはありませんが静的変数の値を出力したい場合には以下のように書きます。 そして、この例では2回静的メソッドを実行していますが、実行するごとにcount変数に1が足されていきます。
カウントしている箇所は以下のコンストラクタの箇所です(オブジェクトを2個作成しているので、2回コンストラクタが実行されているわけです)。
つまり、静的変数はオブジェクトを何個作成しても値が1つであることが分かります。 [補足]
静的関数の中には通常のメンバ変数を入れることは出来ませんので注意してください。
結果は以下の通りです。
カテゴリー