Tagbangers Blog

static変数とインスタンス変数について

static変数とインスタンス変数の違いは何かというのは、ただstaticついてるだけなのですが
何に属しているのか、というところが全く違います。

それから呼称がいろいろあるので、それもまとめようとおもい、ここでまとめてあったものをさらにまとめました。

何に属するか 呼称 呼び出し方
見た目 世界観の範囲
staticなメンバ
クラス
クラス変数
クラスメソッド
staticメンバ
staticメソッド
クラス名.メンバ
例)Human.count
static String text1;
static int count() {
return this.count;
}
非staticなメンバ
インスタンス
インスタンス変数
インスタンスメソッド
インスタンスを表す変数名.メンバ
例)human1.eat( )
String text1;
int count() {
return this.count;
}
newした単位で固有

インスタンス変数はnewした単位で固有です。

ではクラス変数はどの世界の範囲の単位までで固有なのかというと、Java VMです。概念として、「クラスは1VMの中で1つしか存在しない」
よくある技術書では1VMでの世界観が前提として記述されているものが多いので注意してみるとよいかもしれないです。