Smalltalk等のオブジェクト指向言語において、オブジェクトのインスタンスごとに割り当てられた変数のことである。それに対してクラス変数は、同じクラスに対する全てのインスタンスが同じ値を共有する。(本来、この「フィールド」の意味には、「クラス変数」も含まれるが、プログラミング言語によってはインスタンス変数のことを「フィールド」と呼び、クラス変数とは名前を区別しているもの[要説明]もある)。Javaのクラスを用いた例を示す。baz;}上記の例において、barはクラスFooのインスタンス変数である。それに対して、bazはクラス変数である。以下のプログラムで、Fooクラスを用いてクラス変数とインスタンス変数の違いを示す。foo2.baz=foo2.baz上記のプログラムにおいて、foo1.bazとfoo2.bazはFooクラスのクラス変数を表している。foo1.bazとfoo2.bazが表しているインスタンスは同一である。そのため、結果として出力されるfoo1.bazとfoo2.bazの値は同じとなる。逆に、foo1.barとfoo2.barはインスタンス変数であり、独立した変数である。そのため、結果として出力されるfoo1.barとfoo2.barは異なった値となる。(日時は個人設定で未設定ならばUTC)。表示-継承ライセンスの下で利用可能です。追加の条件が適用される場合があります。詳細は利用規約を参照してください。Cookieに関する声明モバイルビュ。