「インスタンス変数」の版間の差分

削除された内容 追加された内容
Realbasic (会話 | 投稿記録)
m編集の要約なし
Realbasic (会話 | 投稿記録)
全体的な加筆修正
1行目:
[[Java言語]]等の[[オブジェクト指向言語]]において、'''インスタンス変数'''とは、[[インスタンス]]ごとに割り当てられた変数のことである。それに対して[[クラス変数]]は、同じ{[クラス|クラス (コンピュータ)}]に対する全ての[[インスタンス]]が同じ値を共有する。
1:class Foo{
2: String bar;
5行目:
4:}
上記の例において、barはクラスFooの'''インスタンス変数'''である。それに対して、bazは[[クラス変数]]である。
以下の[[プログラム]]で、Foo[[クラス]]を用いて
[[クラス変数]]と'''インスタンス変数'''を用の違たプログラムの例と、実行結果以下に示す。
 
プログラム例
1:class TestFoo{
24行目:
foo2.bar=foo2.bar foo2.baz=foo2.baz
 
上記のプログラムにおいて、foo1.barbazとfoo2.barbazどちらもFooクラスの[[クラス変数]]を表している。
そのためつまり結果として出力されるfoo1.barbazとfoo2.barの値bazが表している[[インスタンス]]は同じにな一である。
その結果として出力されるfoo1.bazbarとfoo2.bazbarの値インスタンス変数であり、独立した変数であ同じとなる。
逆に、foo1.bazとfoo2.bazは'''インスタンス変数'''であり、独立した[[変数]]である。
そのため、結果として出力されるfoo1.bazとfoo2.bazは異なった値となる。