目次> 第10章> 10.2 TOPUPPREVNEXT

10.2 ローカル変数

1.1 節の 「氏名を表示するプログラム」 の10行目や12行目 にでてきた、  次の文を思い出してください。
Container pane = getContentPane();
MyName frame = new MyName("私の窓");

このようにメソッドの中で、クラス名に続けて変数名を書くと、 この変数はローカル変数となります。
メソッドの中の中カッコ { } でくくられた部分を ブロックといいます。プログラムはかかれた順に上から下へ実行されますが、 ブロックに入る際にその内側にあるローカル変数が生成され、 ブロックから出る際に消滅します。

このことは重要です。このプログラムで、 paneframe が存在するのはほんの一瞬で、 ウィンドウが表示された頃にはもう消滅していることに注意してください。 pane という名前で参照したコンテントペインは残っていますが、 pane という名前自体は コンストラクタの最後の setVisible(true)の実行直後に消滅します。 同様に、クラス MyName のインスタンスは残っていて クローズボタンが押されるのジーっと待っていますが、 frame という名前自体は、 この1行を実行し main メソッドを走り抜けた直後に消滅しているのです。

ローカル変数定義は次の形式です。

ローカル変数の場合、 初期値 を省略すると初期値の設定はされません。

final は、プログラムで値を変更しないことを表します。 通常は初期値を指定しますが、初期値を指定しない場合は1回だけ代入ができます。


更新日:2006/05/23 TOPUPPREVNEXT