グローバルヘンスウプログラムのあらゆるところからアクセスできる変数のこと。スコープにも寿命にも束縛されず、プログラムのあらゆる箇所から自由にアクセスできる変数を「グローバル変数」と呼ぶ。Javaでは、厳密な意味でのグローバル変数は存在しない。Javaの変数は、メソッド内の「ローカル変数」か、クラスの内の「フィールド」しか存在しないためである。擬似的なグローバル変数を作ることはできる。publicクラスのフィールドをpublicフィールドでかつstaticフィールドとすることで、あらゆる箇所からアクセスできる変数となる。finalフィールドの場合には「定数」となるため疑似グローバル変数とはならない。疑似グローバル変数は決して使用してはならない。変数は、アクセスできる範囲が広まれば広まるほど、プログラマーが気を付けなければならない範囲が広がる。範囲が広がれば広がるほど注意しきれなくなり、バグが生まれる確率が高くなる。して作られたプログラムは、得てして「一人の人間の脳内におけるプログラムの管理」によってのみ変数の管理が行われている。「このフィールドはAクラスのb()メソッドでしかアクセスしてないし、それ以外のクラスからはアクセスさせない」といった注意がそのプログラマーの頭の中にしかない場合、完成しリリース後に別の人員がメンテナンスする場合に最悪の結果を迎える。finalフィールド以外は全てprivateフィールドとすることが望ましい。することで使用される範囲を最小限にすることができるためである。グローバル変数は、旧来のプログラムでは一般的であった。その「旧来のプログラム」をJavaで作り直す(リプレースする)プロジェクトの場合、工費削減のため得てして「旧来のプログラムをそのままJavaに置き換える」場合があり、その場合にはグローバル変数の使用は不可避となる。旧来のプログラムを組んでいたプログラマーがそのままJavaに移行しても、同様に疑似グローバル変数を使用する場合がある。過去の遺物ではなく、いつ眼前に現れるか分からず、そして不可避の場合も多いため、覚悟はしておくこと。Javaではグローバル変数は作れません。構文エラーがあります。