4
Aug 2014
by
佐々木 亜里沙
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での世界観が前提として記述されているものが多いので注意してみるとよいかもしれないです。