staticな変数
修飾子 static が付いた変数やメソッドは、クラスのオブジェクトすべてで
共有され、オブジェクトを生成しなくても利用することができます。
変数の宣言の時に型以外に変数の性質を指定するキーワードが用いられます。
これらのキーワードは修飾子と呼ばれます。
修飾子 static が付いた変数は、「クラス変数」と呼ばれる変数となります。
クラス変数は、
同一のバーチャル・マシン内にあるそのクラスのオブジェクトすべてが
共通して利用します。
そのクラスが提供する処理の中で、しばしばアクセスされる定数やオブジェクト、
生成されたオブジェクトの個数など共通して参照したいデータなどを static で
宣言します。
これに対して static でない通常の変数は、
生成時にオブジェクトが独自にメモリ上に確保するもので、「オブジェクト変数」
と呼ばれることもあります。
クラス変数は、オブジェクトを生成しなくても参照することができます。
Colorクラスに用意された 13色の static なデータは、その典型的な例です。
Color color = Color.red;
static 宣言はメソッドに対しても行うことができます。その場合の意味は、
「クラス変数と他の staticなメソッドの呼び出ししか行わない」という
ことです。オブジェクト変数を 1個でも参照するメソッドは、static には
なれません。
staticなメソッドは、やはりオブジェクトを生成しないで用いることができます。
int x = Integer.parseInt( "10000" ); // 文字列を int型の数値に変換するメソッド