コース: Java 基本講座

今すぐコースを受講しましょう

今すぐ登録して、23,200件以上登録されている、業界エキスパート指導のコースを受講しましょう。

クラスのブロックと変数のスコープについて理解する

クラスのブロックと変数のスコープについて理解する - Javaのチュートリアル

コース: Java 基本講座

クラスのブロックと変数のスコープについて理解する

このレッスンでは クラス内のコードの「ブロック」と 変数の「スコープ」という概念について 説明します。 「ブロック」とはいったい何でしょうか。 簡単に言うと、波かっこ開始から 波かっこ閉じ、までの間 このひとまとまりのコードを指して 「ブロック」という表現が用いられます。 例えば、画面に表示されている Person クラスの定義では 3行目のいちばん最後に 波かっこの開始がありますね。 この波かっこに対応する波かっこ閉じ、は 54 行目、この波かっこです。 それで、この Person クラスの 3行目から 54 行目までの間を指して 「Person クラスの定義ブロック」 と呼ばれるわけです。 9行目の最後にも波かっこの開始があり 13 行目の終わりにも 波かっこの閉じ、があります。 この2つが対応しています。 この間にはさまれた部分は 「Person クラスのコンストラクタの 定義ブロック」と呼ばれます。 15 行目から 19 行目までは 「sayHello() メソッドの 定義ブロック」ということに なるわけですね。 これら、クラス内のそれぞれのブロックには 変数の「スコープ」というものがあります。 これは何でしょうか。 例えば、5行目で String 型の name という変数が定義されています。 この name という変数は Person クラスの 定義ブロックのレベルで 宣言されていますね。 その場合、この変数は Person クラスの 定義ブロック内であれば どこでも自由に参照できる ということになります。 例えば getHelloMessage() というメソッドは Person クラスのブロックの中に 入っています。 その場合、この name という変数に 自由にアクセスできるわけですね。 この getHelloMessage() というメソッドの中には name という変数は いっさい定義されていませんが それより上のレベルである Person クラスの定義ブロックに name という変数が宣言されているので 自由に参照できるわけです。 例えば、この getHelloMessage() の中に String 型で name という 変数を定義したら、どうなるでしょうか。 この場合、47 行目で参照されている name とは Person…

目次