javaのローカルクラスでアクセスできる変数についての質問です。
ローカルクラス(Inner)から外部クラス(Outer)のフィールドにアクセスできる変数の範囲を知りたくて、
以下のコードを書いてみました。
innerMethod内では、Outerクラスのフィールドにアクセスできますが、
Innerクラスのメソッド外では、アクセスできません。
なぜ、メソッド内からはアクセスができて、メソッド外からはアクセスができないのかを
ご教授頂きたいです。
java
1public class Outer { 2 int outerField; 3 static int outerStaticField =10; 4 5 class Inner{ 6 //↓Innerクラスのメソッド外では、エラーがでます。 7 outerField = 10; 8 outerStaticField = 20; 9 10 //↓innerMethod内では、Outerクラスのフィールドにアクセスできます。 11 void innerMethod(){ 12 outerField = 10; 13 outerStaticField = 10; 14 } 15 } 16}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/05/22 02:03