staticな変数

修飾子 static が付いた変数やメソッドは、クラスのオブジェクトすべてで 共有され、オブジェクトを生成しなくても利用することができます。
 変数の宣言の時に型以外に変数の性質を指定するキーワードが用いられます。 これらのキーワードは修飾子と呼ばれます。
 修飾子 static が付いた変数は、「クラス変数」と呼ばれる変数となります。 クラス変数は、 同一のバーチャル・マシン内にあるそのクラスのオブジェクトすべてが 共通して利用します。 そのクラスが提供する処理の中で、しばしばアクセスされる定数やオブジェクト、 生成されたオブジェクトの個数など共通して参照したいデータなどを static で 宣言します。 これに対して static でない通常の変数は、 生成時にオブジェクトが独自にメモリ上に確保するもので、「オブジェクト変数」 と呼ばれることもあります。
 クラス変数は、オブジェクトを生成しなくても参照することができます。 Colorクラスに用意された 13色の static なデータは、その典型的な例です。

Color color = Color.red;

 static 宣言はメソッドに対しても行うことができます。その場合の意味は、 「クラス変数と他の staticなメソッドの呼び出ししか行わない」という ことです。オブジェクト変数を 1個でも参照するメソッドは、static には なれません。 staticなメソッドは、やはりオブジェクトを生成しないで用いることができます。

int x = Integer.parseInt( "10000" );  // 文字列を int型の数値に変換するメソッド